3 回答

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
要知道的三件事:
百分號(hào)在批處理文件用來表示命令行參數(shù):%1,%2,...
介于兩個(gè)百分號(hào)之間的任何字符將被解釋為變量:
echo %myvar%
兩個(gè)百分號(hào)之間(在批處理文件中)之間沒有任何區(qū)別,將其視為命令(不是批處理文件)中的單個(gè)百分號(hào):%%f
為什么?
例如,如果我們執(zhí)行您的(簡體)命令行
FOR /f %f in ('dir /b .') DO somecommand %f
在批處理文件中,規(guī)則2會(huì)嘗試解釋
%f in ('dir /b .') DO somecommand %
作為變量。為了防止這種情況,您必須應(yīng)用規(guī)則3,然后再轉(zhuǎn)義%第二條規(guī)則%:
FOR /f %%f in ('dir /b .') DO somecommand %%f

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
在DOS中,您不能在命令行上使用環(huán)境變量,而只能在批處理文件中使用環(huán)境變量,在批處理文件中,它們使用%
符號(hào)作為分隔符。如果要%
在批處理文件中(例如在echo
語句中)使用文字符號(hào),則需要將其加倍。
這會(huì)延續(xù)到Windows NT,Windows NT允許在命令行上使用環(huán)境變量,但是為了向后兼容,您仍然需要將%
.cmd文件中的符號(hào)加倍。
- 3 回答
- 0 關(guān)注
- 4121 瀏覽
添加回答
舉報(bào)