0

私は実行時に別のバッチファイル(b.batとしましょう)を作成するバッチファイル(a.batとしましょう)を作成しようとしています。今、私は b.bat を使用して特定のファイルの名前を変更しています。名前を変更するためのコードは、

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

SET "folder=path\to the\file"

::Action
CD /d "%folder%"
FOR %%F IN ("old filename") DO (
 MOVE "%%F" "new filename"
)

b.batにコードを書くためのa.batのコードは、

@echo off

set VarOne=@echo off
set VarTwo=SETLOCAL ENABLEDELAYEDEXPANSION
set VarThree=::Action
set VarFour=CD /d "path\to the\file"
set VarFive=FOR %%F IN ("old filename") DO (
set VarSix= MOVE "%%F" "new filename"
set VarSeven=)

echo %VarOne% >> %Output%\test.bat
echo %VarTwo% >> %Output%\test.bat
echo %VarThree% >> %Output%\test.bat
echo %VarFour% >> %Output%\test.bat
echo %VarFive% >> %Output%\test.bat
echo %VarSix% >> %Output%\test.bat
echo %VarSeven% >> %Output%\test.bat

問題は、b.bat が生成されると、次のようになることです。

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

SET "folder=path\to the\file"

::Action
CD /d ""
FOR %F IN ("old filename") DO (
 MOVE "%F" "new filename"
)

%folder% と %%f の % がなくなりました。では、どうすれば正しくなりますか?お願い助けて。

4

1 に答える 1