无法将IF()回显到我在批处理文件中创建的文本块中

我正在一个批处理文件中创建一个批处理文件,并希望使用该结构

(
echo line 1
…
) > test1.bat

在我尝试输入if语句之前,这一切都很好。 if的结尾“)”终止了文本块。我什至尝试过

set "_ascii=)"
echo %_ascii%

,但在回显且文本块终止时被扩展为“)”。我看不到如何将“)”写入要创建的批处理文件。

示例代码:test.bat

(
echo set "VAR=1"
echo goto SkipOverFunctions
echo :foo
echo if %%VAR%% EQU 1 (
echo echo var is 1
echo exit /B 0
echo )
echo exit /B 1
echo :SkipOverFunctions
echo call foo
) > test1.bat
lyp6197 回答:无法将IF()回显到我在批处理文件中创建的文本块中

您可以使用^转义文字括号,因此不会将其解析为块终止符:

(
    echo line1
    echo (line2^)
    echo line3
) > output

一种替代方法是使用>>“追加”重定向:

echo line1 > output
echo (line2) >> output
echo line3 >> output
本文链接:https://www.f2er.com/3158846.html

大家都在问