批处理脚本:我们可以在 SET /p 命令中设置带有空格的字符串吗?

批处理脚本:我们可以在 SET /p 命令中设置带有空格的字符串吗?

例如代码;

:void.loop
    set command=
    set /P command=
    if %command%=="this is a test" goto :void.loop

现在,我正在写“ 这是一个测试“在命令提示符中...

输出是;

“is==”这次出乎意料

你们能帮忙吗?

答案1

只需在变量周围加上引号即可。我还会在前后添加一个空格==以提高可读性,但这不是必需的。

if "%command%" == "this is a test" goto :void.loop

答案2

对于 if 命令;

:void.loop
    set command=
    set /P command=
    if /i "%command%"=="" goto :void.loop
    if "%command%"=="help" call :void.help
    if "%command%"=="cls" cls
    if "%command%"=="exit" exit
    goto :void.loop

回显或写入 TXT;

set /p asd=
(
echo %asd%
) > test.txt

相关内容