批处理脚本非常新。我需要将命令的输出分配给变量。我开始了解 FOR /F 命令。我的命令有空格和双引号。所以我尝试使用 usebackq 选项。但它因空间错误而失败。
for /F "usebackq delims=" %%G IN (`"C:\Program Files (x86)\ABC\DEF\XYZ.exe" Get /a "P1=D2" /b "Q1=D3" /c "D5"`) DO (
SET var=%%G
)
ECHO %var%
pause
Run Code Online (Sandbox Code Playgroud)
失败 :
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
根据 StackOverflow 上的其他问题,我做的一切都是正确的 - usebackq来使用反勾号,demlims=来忽略空格作为分隔符。我不知道为什么它仍然失败。任何帮助表示赞赏!