2013-07-12 79 views
0

在Windows中,我有兩個.bat文件,比如說dir_a/a.bat和dir_b/b.bat。如何在窗口中設置PATH到批處理文件

我想要的是,執行a.bat後,我將能夠調用b.bat。我現在的做法是將PATH設置爲dir_b,因此在執行a.bat的終端中,我可以調用b.bat並能夠執行b.bat。然而,在a.bat中放置「set PATH = dir_b;%PATH%」不起作用。我做錯了什麼?

回答

0

不要使用PATH,因爲它與Windows路徑衝突。相反,你可以添加以下內容:

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,你需要在ENDLOCAL&set "Path=dir_b;%PATH%"&GOTO :EOF的順序,你似乎exepect針對特定CMD會話的持續時間將預先準備dir_b到現有路徑的東西。

2

對於您所面對的是相對路徑的情況下: 您可能會注意到:

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

將^^ 不起作用 ^^!

所以像這樣做:

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

...當然還有 集路徑=%PATH%;%CD% 的pushd和popd的也將這樣的伎倆之間

好了也看看這裏: https://stackoverflow.com/a/6595206/3135511

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

^- 要看到通過自制的子功能「setAbsPath」 做到這一點 - 的>或代替通話你也可以使用對於 - 在其他線程細節


而就在對於那些也可能喜歡運行Microsoft Visual C++ 6.0(anno 1998)的小型筆記>沒有安裝它... ...並想知道f ***'standard'包含哪些內容?!

\ vc98 \ include \中有大約17個文件已被手動切碎8 + 3個字符。像:
algrithm - >算法
strstrem - > strstream
xception - >例外

所以要注意和創造性有關!

相關問題