无论出于何种原因,此命令有效:
SET QUERY="heat wave"
START /d "C:\Program Files (x86)\Google\Chrome\Application" chrome.exe https://www.google.com/search?q=%QUERY: =+%
但这不是:
SET SWITCH=1
IF %SWITCH%==1 (
SET QUERY="heat wave"
START /d "C:\Program Files (x86)\Google\Chrome\Application" chrome.exe https://www.google.com/search?q=%QUERY: =+%
)
这里的关键是enabledelayedexpansion
setlocal enabledelayedexpansion
SET SWITCH=1
IF %SWITCH%==1 (
SET QUERY="heat wave"
START /d "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" https://www.google.com/search?q=!QUERY: =+!
)
有关delayedexpansion
的更多信息请参阅cmdline的set /?
。
也可以没有delayedexpansion
加倍最后的%
并召唤开始。
SET SWITCH=1
IF %SWITCH%==1 (
SET QUERY="heat wave"
call START /d "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" https://www.google.com/search?q=%%QUERY: =+%%
)