我正在尝试制作一个批处理文件(比如说a.bat),它在运行时会创建另一个批处理文件(比如说b.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"
)
a.bat 中用于在 b.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 的 % 消失了。那么我该怎么做呢?请帮帮我。