用FOR循環變量是有可能做替換(一拉%VARIABLE:old=new%
)?我不能爲這樣的事情找到文檔,我已經在猜測語法是不成功的。如何告訴CMD在FOR循環變量上進行替換?
例如,如果我想實現此目的:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "delims=, tokens=3" %%c IN ("field1,field2,field3,field4") DO (
SET "_C=%%c"
@ECHO !_C:3=_three!
)
(選擇第三字段,替換3
與_three
,並打印被取代的值,field_three
)
我可以做到這一點沒有中間賦值給一個常規變量?怎麼樣?
(編輯:更新標題,使其比是/否的問題,其他的東西。)
你試過了嗎? – Endoro
當然,@Endoro。我嘗試了'%% c:3 = _three',其結果爲'field3:3 = _three'的預期(錯誤)結果。適用於常規變量的語法有一個「關閉」變量標記('%'),FOR循環變量不存在。我不知道用什麼來表達CMD的這種願望。如果有一些文件告訴我如何做,或者證實我懷疑它不像冥王星的飛行器一樣,我會很高興。 – mojo
我從來沒有能夠直接使用%% var進行替換。我一直不得不像你所做的那樣將%% var分配給一箇中間變量。我相信你找到了唯一可行的解決方案。 –