在 Windows 命令提示字元中呼叫底線後的變數

在 Windows 命令提示字元中呼叫底線後的變數

在我的批次檔中,我嘗試在下劃線之後呼叫變數。但如果在下劃線之後添加該變量,則該變量不會被識別。

set /p X=Folder name:%=%
mkdir Delta_%X%

因此,Windows 正在為上述程式碼建立一個名為 Delta_ 而不是 Delta_{為 X 提供的資料夾名稱使用者} 的目錄。

為了解決這種情況,我將下劃線分配給另一個變數並調用這兩個變量,它工作正常。想檢查是否有另一種(正確的)方法來處理這個問題。

解決方法:

set /p X=Folder name:%=%
set Z=_
mkdir Delta%Z%%X%

答案1

使用您描述的任何一種方法添加下劃線都沒有問題。但是,您也可以向變數添加下劃線,%X%如下所示:

set /p X=Folder name: 
set X=_%X%

或者你可以像這樣添加 Delta_ :

set X=Delta_%X%

當然,如果您需要保留實際的使用者輸入以供以後使用,您可能不想這樣做。如果是這種情況,您可以這樣做:

set /p X=Folder name: 
set Y=Delta_%X%
echo user entered: %X%
mkdir %Y%

相關內容