在此示例中,结果是脚本的其余部分未看到变量已更改。
set testvar=initial_value
start "" /b /belownormal /wait cmd /c set testvar=im'changed
echo %testvar%
有没有办法将它的值恢复到主命令提示符?
(这是我必须以较低的cpu优先级运行的应用程序的简化示例,然后我需要使用&&
来接收它的错误级别值:
start "" /b /belownormal /wait cmd /c myapp.exe && set elevel=ok || set elevel=fail
答案 0 :(得分:3)
试试这个:
@echo OFF &SETLOCAL
set testvar=initial_value
FOR /f "delims=" %%a IN ('start "" /b /belownormal /wait cmd /c echo(im^'changed') do SET "testvar=%%a"
echo %testvar%
..或errorlevel
:
@echo OFF &SETLOCAL
start "" /b /belownormal /wait cmd /c EXIT /b 322
echo %errorlevel%