我有一个批处理文件,它可以创建另一个批处理文件。我试图让该批处理文件将以下行打印到新的批处理文件中:
echo oLink.TargetPath = "%CD%\file.exe">>script.vbs
这是我正在使用的代码行:
echo echo oLink.TargetPath = "%CD%\file.exe"^>^>script.vbs>>"newfile.bat"
当然,这会打印到新文件中的内容:
echo oLink.TargetPath = "(Directory I Run The Batch File From)\file.exe">>script.vbs
我需要将变量打印%CD%
到新文件而不是当前目录的变量输出。
答案1
% 字符对于命令行参数和 FOR 参数具有特殊含义。
要将百分比视为常规字符,请将其加倍:
%%
这使 :
echo oLink.TargetPath = '%%CD%%\file.exe' >f
答案2
百分号的正确转义字符是其本身。
Echo(%%CD%%