0
所以這裏的問題,這一塊的代碼工作正常,當我單獨運行它:Win7的CMD:For循環獨立工作,而不是在一個批處理
for /f "tokens=1,2 delims==" %%G in ('wmic desktopmonitor get screenheight^,screenwidth /value ^| find "="') do (
if "%%G"=="ScreenHeight" set /a ResJ=%%H
if "%%G"=="ScreenWidth" set /a ResI=%%H
)
echo Your screen width is %ResI%
echo Your screen height is %ResJ%
pause
然而,當我將其插入到這個劇本我我工作的,變量保持空白:
if errorlevel 1 (
cd base
if exist %GameConfig% (
gzdoom -config %GameConfig% -file %LevelA% %LevelB% %AddonA% %AddonB% %Patch% %HudA% %HudB% %HudC% %Music% -iwad %iWAD%
) else (
for /f "tokens=1,2 delims==" %%G in ('wmic desktopmonitor get screenheight^,screenwidth /value ^| find "="') do (
if "%%G"=="ScreenHeight" set /a ResJ=%%H
if "%%G"=="ScreenWidth" set /a ResI=%%H
)
echo Your screen width is %ResI%
echo Your screen height is %ResJ%
pause
gzdoom -config %GameConfig% -width %ResI% -height %ResJ% -file %LevelA% %LevelB% %AddonA% %AddonB% %Patch% %HudA% %HudB% %HudC% %Music% -iwad %iWAD%
)
)
這些都是非常好的解決方案,但RegExp解決方案不適合我的需求,因爲我不希望應用程序繼續o一旦設置了分辨率設置,就會強制以桌面分辨率啓動。我的解決方案就是簡單地將代碼位移到選擇分支之前,以便變量在需要時已經準備就緒。這就是結果代碼的樣子:http://pastebin.com/Kzx9NKR9 –