2013-07-12 2 views
0

Windows에서 두 개의 .bat 파일 (dir_a/a.bat 및 dir_b/b.bat)이 있습니다.Windows에서 배치 파일에 PATH를 설정하는 방법

내가 원하는 것은 a.bat를 실행 한 후 b.bat를 호출 할 수 있다는 것입니다. 내 접근 방식은 이제 dir_b에 PATH를 설정하는 것이므로 a.bat를 실행 한 터미널에서 b.bat를 호출하고 b.bat를 실행할 수 있습니다. 그러나 "set PATH = dir_b; % PATH %"를 a.bat에 넣는 것은 작동하지 않습니다. 나는 무엇을 잘못 했는가?

답변

0

Windows 경로와 충돌하기 때문에 PATH를 사용하지 마십시오. 대신 당신이 추가 할 수 있습니다 다음

pushd path_to_your_dir_b 

그런 다음 적절한 장소에 popd 명령을 추가

0
당신은 파일을 b.bat하는 절대 경로를 포함해야합니다

; 예를 들면 :

set PATH=C:\User A\Folder X\dir_b;%PATH% 
0

난 당신이 a.batSETLOCAL이 용의자. 일치하는 ENDLOCAL (또는 동일한 컨텍스트에서 EOF)에 도달했을 때 SETLOCAL이 취소 된 후 수행 된 환경 변화.

a.bat을 종료하는 방법에 따라, 당신은 당신이 특정 CMD 세션의 기간 동안 exepect에 나타나는 기존의 경로에 dir_b 앞에 추가됩니다 ENDLOCAL&set "Path=dir_b;%PATH%"&GOTO :EOF의 순서에서 뭔가를 필요 했어.

상대 경로 상대하고있는 경우를 들어
2

: 당신은 것을 알 수 있습니다 :

set path=%path%;"\..\..\..\vc98\bin\" 

이를 작동하지 를 ^^합니다 ^^!

그래서 이런 식으로 작업을 수행합니다

pushd "..\..\..\vc98\bin\" 
path %cd%; %path% 
popd 

... 그리고 당연히 세트 경로 = % 경로 %; %에서 cd ​​%도 트릭을 할 것입니다 PUSHD와 popd의 사이

여기보고가 우물에 대한

: https://stackoverflow.com/a/6595206/3135511

... 
call :setAbsPath ABS_PATH ..\ 
... 

을^당신은 또한 을 위해 사용할 수 있습니다> 나 대신 전화의 - - 자기 만든 하위 기능 'setAbsPath'을 통해 그것을 할 참조 아키텍처에 많은 투자를 다른 스레드에서 세부 사항을


단지 Microsoft Visual C++ 6.0 (anno 1998)을 설치하지 않고도>을 (를) 실행하고 싶은 사람들을위한 작은 메모 ... ... f *** '표준'이 포함 된 곳은 어디입니까?

수동으로 8 + 3 문자를 잘게 잘라낸 \ vc98 \ include \에 약 17 개의 파일이 있습니다.마찬가지로 :
algrithm -> 알고리즘
strstrem -> strstream
xception -> 예외

그래서 그것에 대해 인식하고 창조적!

관련 문제