如何将 %~dp0 写入批处理文件创建的批处理文件?

How to write %~dp0 into a batch file created by a batch file?

我的程序正在生成批处理文件。但是当它将 %~dp0 写入新文件时,它只是写入了生成器程序的位置。

是否可以将 %~dp0 写入新的批处理文件?

我的代码如下所示:

echo cd %~dp0>>Newfile.bat

批处理生成器应该将 cd %~dp0 写入新文件,但它会这样写:

cd C:\Batch files\Bat file Generator\
 >>newfile.txt echo cd %%~dp0

由于%cmd有特殊意义,所以需要在前面加上"escaped"。大多数具有特殊含义的符号的 escape 字符是脱字符 ^%%.

将重定向器直接放在数字后面是自找麻烦...

就这样吧!

Echo CD/D "%%~dp0">>Newfile.bat