cmd line下path路徑的問題 |
尚未結案
|
johnny_1121
一般會員 發表:12 回覆:58 積分:24 註冊:2002-04-15 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 舉例: C:\下有AP.exe及used.txt,另外C:\bin及C:\include有我需要的檔案 我要如何讓AP知道C:\bin及C:\include裡的檔案呢? 我使用了DOS時代的PATH方式… PATH C:\bin;C:\include%path 但無法讓AP知道C:\bin及C:\include裡的檔案,是否有其它方法可以… 不知這樣說明是否清楚…望前輩指引…johnny_1121 你好: 請參考以下的做法 (
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
johnny_1121
一般會員 發表:12 回覆:58 積分:24 註冊:2002-04-15 發送簡訊給我 |
引言:引言: C:\下有AP.exe及used.txt,另外C:\bin及C:\include有我需要的檔案 我要如何讓AP知道C:\bin及C:\include裡的檔案呢? 我使用了DOS時代的PATH方式… PATH C:\bin;C:\include%path 但無法讓AP知道C:\bin及C:\include裡的檔案,是否有其它方法可以…請參考以下的做法 (>>< face="Verdana, Arial, Helvetica"> Mr.R 前輩你好 感謝你的回覆 (1) 我在CMD line下使用SET PATH=C:\bin;C:\include;%PATH%然而PATH無變化,而直接使用PATH=C:\bin;C:\include;%PATH%,why? 在PATH後,發現假如有一個檔案c:\include\bb.h在CMD打入c:\bb.h也可以順利開啟c:\include\bb.h… 然而執行C:\AP.exe, AP卻無法找到c:\include\bb.h這個檔案… (2) 前輩使用SetEnvironmentVariable目的也是去改變它的PATH嗎? AnsiString s; char *env; RichEdit->Clear(); env = GetEnvironmentStrings(); int iIndex = 0; do{ s = ""; //¬O«üpªº«ü¼Ð¤£µ¥©óªÅ¥Õ¶Ü¡H do{ s = env[iIndex]; env ; }while (env[iIndex] != 0); RichEdit->Lines->Add(s); env ; }while (env[iIndex] != 0) ; FreeEnvironmentStrings(env); |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: (1) 我在CMD line下使用SET PATH=C:\bin;C:\include;%PATH%然而PATH無變化,而直接使用PATH=C:\bin;C:\include;%PATH%,why? 在PATH後,發現假如有一個檔案c:\include\bb.h在CMD打入c:\bb.h也可以順利開啟c:\include\bb.h… 然而執行C:\AP.exe, AP卻無法找到c:\include\bb.h這個檔案… (2) 前輩使用SetEnvironmentVariable目的也是去改變它的PATH嗎? AnsiString s; char *env; RichEdit->Clear(); env = GetEnvironmentStrings(); int iIndex = 0; do{ s = ""; //¬O«üpªº«ü¼Ð¤£µ¥©óªÅ¥Õ¶Ü¡H do{ s = env[iIndex]; env ; }while (env[iIndex] != 0); RichEdit->Lines->Add(s); env ; }while (env[iIndex] != 0) ; FreeEnvironmentStrings(env); johnny_1121 你好: (1)你說你直接用 Command line 的方式卻無效,我實在不明白為什麼?? 因為我 有試過,確實是可以的(Windows 2000, SP3) (2)不過,有一點要特別注意,那就是在 Windows 9X/ME 是有長度限制的,如果 儲存的路徑字串太長的話,後面會被截掉的 (3)你要先用 GetEnvironmentVariable 取得原來的字串,再把你要加入的字串 加在前面,最後再用 SetEnvironmentVariable 設定回去 (4)能不能說明一下你的目的是什麼呢?? 也許,不一定要用這種方式才可以解決 的-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
johnny_1121
一般會員 發表:12 回覆:58 積分:24 註冊:2002-04-15 發送簡訊給我 |
引言: (1)你說你直接用 Command line 的方式卻無效,我實在不明白為什麼?? 因為我有試過,確實是可以的(Windows 2000, SP3) (2)不過,有一點要特別注意,那就是在 Windows 9X/ME 是有長度限制的,如果儲存的路徑字串太長的話,後面會被截掉的 (3)你要先用 GetEnvironmentVariable 取得原來的字串,再把你要加入的字串 加在前面,最後再用 SetEnvironmentVariable 設定回去 (4)能不能說明一下你的目的是什麼呢?? 也許,不一定要用這種方式才可以解決的Mr.R前輩,thanks! (1) 我在command line下用SET PATH沒有變更到PATH,而是使用PATH才有變更 (winXP sp1) SET PATH c:\temp%PATH% (變更PATH無效) PATH c:\temp%PATH% (變更PATH成功) (2)從來不曉得…感謝教導! (3) 已能順利取得PATH, source code如下~ AnsiString s; char *lpName; char *lpBuffer = new char[512]; lpName = "PATH"; DWORD nSize; nSize = GetEnvironmentVariable(lpName,lpBuffer,512); s = ""; for(int i=0;i(4) 問題已用另外一種方式解決了,在AP下參數時加入include path即可 ("\/") ∩~∩ ( '.')(~'.'~) o~(__)_)(__(__)~o |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |