我正在使用一个bat脚本将bat脚本的代码写入文本文件,并想知道是否有办法大规模转义代码并将其视为文本?
目前我正在使用下面的内容,但它并没有逃避代码
@echo off
(
echo code
echo code
)>"text.txt"
答案 0 :(得分:1)
@echo off
for /f "delims=[]" %%n in ('find /n "REM DATA:" "%~dpnx0"') do set /a n=%%n
more +%n% "%~dpnx0">myNew.bat
REM rest or your batchfile
goto :eof
REM DATA:
@echo off
echo this is your new batchfile
echo on computer %computername%
REM etc.
for
只获取存储新内容的行号(DATA部分的开头),more
命令将该内容写入新文件(实际上是“当前正在运行的批处理文件,跳过前n行“)。
解析器未处理REM DATA:
之后的代码(仅由more
复制),因此无需转义。
注意:more
将TAB转换为(多个)空格。