我想看看是否有一种方法可以自行重写执行代码的批处理脚本。我知道可以创建另一个批处理文件来执行任务。
我想要实现的示例代码,
@echo off
title Self Re-Writing Program
set /p answer="> "
if %answer%=="1" (goto mode1)
:mode1
REM some code here to re-write itself with custom content
REM Exit Program
exit
您可以在运行脚本的末尾添加代码,甚至可以在当前执行的代码之后更改代码。但是切勿在当前执行的行之前更改代码。解析器“记住”它应该在代码的哪个位置继续(不是按行计数,而是按字节计数!)因此,在当前执行的行之前添加或删除字符将迫使解析器执行残废的行。这很有可能会以语法错误结尾。