2012-10-02 7 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

오류는 여기에 있습니다 :

labdir2라는 디렉토리로 변경,하지만 당신은 변수의 내용에 의해 표시되는 디렉토리를 변경하려면
cd labdir2 

:

cd %labdir2% 

확인 당신은 큰 따옴표로 묶을 특수 문자에 대처할 수 있습니다 :

cd "%labdir2%" 

/d swith를 cd 명령과 함께 포함하여 현재 드라이브도 변경해야 할 수도 있습니다. 따라서 최종 버전은 다음과 같아야합니다.

cd /d "%labdir2%" 
+1

+1 인용문은 분명 여기 좋은 연습이므로, 나는 귀하의 제안에 동의하지 않을 것입니다. 그러나 완전성을 위해 (더 좋든 나쁘 든간에;)'cd'는 디렉토리 이름의 공백을 대문자로 쓰지 않고 대처할 수 있습니다. 예 : 'mkdir 'dir''그리고'cd a dir'이'a dir'('help cd '참조)로 변경됩니다. quote는 물론'^'와 같은 다른 특수 문자 (당신이 말했듯이)를 위해 필요합니다. –

+0

제 경험상,'cd' **는 따옴표로 묶지 않은 공백을 처리 할 수 ​​있지만 항상 잘 작동하지는 않습니다. 또한 경로에 공백이있는 프로그램을 호출 할 때 따옴표가없는 공백과 관련된 문제가 ** 발생할 수 있습니다. 필자가 추천하는 것은 경로/프로그램 주위에 큰 따옴표를 사용하는 것을 의미하는 경로 및 프로그램 "상황"에서 일관되게 신뢰할 수있는 방법을 사용하는 것입니다. –