2012-10-02 324 views
0

好吧,我正在自己的小命令提示符下進行自己的個人使用,我一直在努力讓它在過去的2個小時內工作。這是我做了什麼:命令提示符腳本命令「cd」

@echo off 
set /p labnum="Enter Lab Numnber:" 
set labdir=C:\Users\BLAHBLAHBLAH\Dir\Lab- 
set labdir2="%labdir%%labnum%" 
cd labdir2 
:cmd 
set /p cmd=">" 
%cmd% 
cls 
goto cmd 

我基本上希望能夠每一個「會話」,但每次執行CD labdir2命令時間之前改變路徑,我的電腦抱怨道,「系統無法找到路徑指定「。我知道確保該目錄存在!我直接從Windows資源管理器粘貼文本。任何和所有的幫助表示讚賞。 謝謝!

回答

3

的錯誤是在這裏:

cd labdir2 

要更改爲變量的內容表示的目錄改變到一個名爲labdir2目錄,但:

cd %labdir2% 

確保你可以應付特殊字符我會用雙引號括起來:

cd "%labdir2%" 

您甚至可能希望將/ d swith與cd命令一起使用,以確保您也更改當前驅動器。因此,最終的版本應該是:

cd /d "%labdir2%" 
+1

+1報價肯定是這裏一個很好的做法,所以我不同意你的建議不同意。然而,爲了完整性,請注意(好或壞;-)'cd'可以在不引用名稱的情況下處理目錄名稱中的空格。例如。 'mkdir「dir」'然後'cd dir'變成'dir'(另見'help cd')。引用當然需要其他特殊字符(如你所說),比如'^'。 –

+0

根據我的經驗,即使'cd' **可以**處理未加引號的空格,但並不總是與它們配合良好。另外,當用路徑中的空格調用程序時,**將**與未加引號的空格有關。我的建議是在路徑和程序「情境」中使用始終如一的可靠方法,這意味着使用帶空格的路徑/程序的雙引號。 –