• ベストアンサー

バッチファイルで変数の内容変更

以下のバッチファイルで,10回目のループで,ファイル名を入力している変数を 「out.txt」と変更したいのですが,変更前の「in.txt」と 出力されてしまいます。 どのように対処すれば宜しいでしょうか? よろしくお願いします。 @echo off set FLN=in.txt for /L %%N in ( 1 , 1 , 10 ) do ( echo %%N if "%%N" equ "10" ( echo 変更します set FLN= set FLN=out.txt ) echo %FLN% ) @echo on

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

「cmd /V:ON」でコマンドウィンドを開き、以下のように修正すれば、意図した動作となると思います。 詳細は、「help set」をご参照ください。 @echo off set FLN=in.txt for /L %%N in ( 1 , 1 , 10 ) do ( echo %%N if "%%N" equ "10" ( echo 変更します set FLN= set FLN=out.txt ) echo !FLN! <--------------------- ) @echo on

naetop
質問者

お礼

早々とご回答有難うございます。 解決しました。 ちなみに,バッチファイルの先頭で, setlocal ENABLEDELAYEDEXPANSION としてもOKのようです。

関連するQ&A