1. ホーム
  2. command-line

[解決済み] バッチファイルでの文字列置換

2022-05-14 12:06:07

質問

以下のコマンドで、バッチファイル内の文字列を置換することができます。

set str="jump over the chair"
set str=%str:chair=table%

これらの行は問題なく動作し、文字列 "jump over the chair" を "jump over the table" に変更します。今、私は文字列の中の単語 "chair" をある変数で置き換えたいのですが、その方法がわかりません。

set word=table
set str="jump over the chair"
??

何かアイデアはありますか?

どのように解決するのですか?

!を使用することができますが、ENABLEDELAYEDEXPANSIONスイッチが設定されている必要があります。

setlocal ENABLEDELAYEDEXPANSION
set word=table
set str="jump over the chair"
set str=%str:chair=!word!%