1
我有類似以下的東西......擴展if語句中設置變量的%userprofile%。批量
set /p dir=Specify Path:
if exist %dir% (
echo ok
) else(
echo not ok
)
如果用戶輸入類似%USERPROFILE%的路徑或變量
%時,DIR%是用來%USERPROFILE%之內沒有擴大。
例如
set dir=%userprofile%
echo %dir% :: this does not expand
call echo %dir% :: this does expand
cd %dir% :: does not expand
call cd %dir% :: expands
但如何我想有一個if語句中的路徑展開。
一直在我的頭上,我並不真正瞭解DelayedExpansion。
謝謝。
你的'SET/P'命令後這樣做:'呼叫建立「DIR =%DIR%」' – Squashman
我想我已經得到了我的頭周圍延遲擴展,這似乎允許改變一個變量是在聲明結束之前閱讀,如果這是正確的,我認爲這對我的情況沒有什麼幫助,這可能是爲什麼我很困惑,因爲我嘗試了所有的組合! &%沒有運氣。如果('echo %% dir %%')中的/ f %% a做了echo%a我相信也會擴展,但是這對我也沒有幫助。:( – Chumbawamba
感謝Squashman現在幾乎看起來很明顯。 – Chumbawamba