我正在尝试创建一个批处理文件(比如说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"
)
%文件夹%和%%从%% f消失了。那我怎么能做对的?请帮帮我。
答案 0 :(得分:0)
npocmaka和LS_dev在评论中说的是正确的。您必须将每个redirectTo: 'notfound'
加倍并使用:
%
我亲自测试了这两个并且可以确认。