2010-01-01 16 views
1

我正在編寫一個批處理文件。下面是一個示例:cmd:@pause和路徑的意外錯誤> txt

if exist rootsys.txt del rootsys.txt 
if %lang%==1 (
if %bit%==32 echo C:\Program Files\path\to\the dir>rootsys.txt 
if %bit%==64 echo C:\Program Files(x86)\path\to\the dir>rootsys.txt 
goto :waset 
) 

這正好爲六次(所以if %lang%==2等..到if %lang%==6

那麼,它做什麼,用戶將東西,像「6」,所以它會做第六件事。

但是,每當我嘗試這個,它結束了\the was unexpected at this time。 所以,我試着用@echo on進行調試。似乎它給了我在if exist rootsys.txt del rootsys.txt錯誤。這怎麼會發生?!

我是110%確定我沒有提及the(實際上我用它作爲示例,它有另一個名稱)我的批處理文件中沒有其他名稱。誰能幫我?我真的被困在這裏。

回答

2

包圍C:\Program Files\path\to\the dir字符串"

+0

如果我將'設置/ P路徑= 2010-01-01 17:11:47

+0

不,set命令將所有等號字符的右邊所有內容分配給變量,因此不需要引號 – Alon 2010-01-01 17:17:10

+0

btw:但是它可以工作。謝謝。我不需要上述問題的答案 – 2010-01-01 17:18:42