是否可以通过'copy con'命令创建一个创建另一个批处理文件的批处理文件?

iNT*_*iNT 2 windows cmd batch-file

好.我的问题几乎解释了自己.是否可以创建批处理文件,执行时会通过copy con命令创建另一个批处理文件?就像是:

@echo off
copy con file.bat
@echo off
echo hallo
exit
^Z
start file.bat
Run Code Online (Sandbox Code Playgroud)

我尝试这样做的唯一问题是,你手工制作需要在^ Z后点击Enter,我找不到任何类型的cmd命令来复制它.有谁知道这样的事情是否可能?或者是否还有其他方法可以让批处理文件重新创建另一个批处理文件或自身?

谢谢.

Eli*_*nti 6

有可能发布转义代码^Z并执行它,copy con但为什么会这样?只是正常的echo命令重定向.像这样:

@echo off
echo Generating batch file
echo echo Hello world > hello.bat
echo Now running batch file
echo ----------
call hello.bat
echo ----------
echo Ta-da!
Run Code Online (Sandbox Code Playgroud)

  • 您还可以使用括号块对多个echo语句进行分组,使用单个输出重定向,例如第一行:`(echo @echo off`,第二行:`echo echo hello world)> hello.bat`. (2认同)