我不知道如何描述我正在嘗試做什麼,但這裏是一個示例批處理文件,演示了我無法弄清楚的事情:如何將環境變量設置爲批處理文件中的空格值?
我有一個批處理文件。內部的批處理文件,我試圖創建一個目錄:
Set CopyFrom = %~dp0
if Exist "%ProgramFiles(x86)" (
Set TargetDir = %ProgramFiles(x86)%\My Directory Name has spaces
)
md %TargetDir%\NewSubFolder
copy %CopyFrom%\SourceFile.zip %TargetDir%\NewSubFolder
我的批處理文件第4行Set TargetDir =...
與失敗:
\My was unexpected at this time
我假設這是因爲我有我的空間路徑名稱。我想我可能只是換我的變量與報價:
Set TargetDir = "%ProgramFiles(x86)%\My Directory Name has spaces"
但是當我去創建它失敗,因爲%TargetDir%
現在包裹在引號中的目錄就行了。 md "%TargetDir%"\NewSubFolder
這可以修復嗎?或者我應該寫一個VBScript來解決問題嗎?
謝謝,這只是票,非常感謝。 – BobTheBuilder 2009-11-07 21:42:36
從來沒有想過我可以將整個項目包在引號之後......當然,這不完全直觀嗎? – BobTheBuilder 2009-11-07 21:43:44
不,不直觀。 (沒有太多關於Windows命令行 - 這就是爲什麼我切換到PowerShell)。我認爲它是這樣的:「=」的兩邊是set命令的單個參數。 – zdan 2009-11-07 23:03:04