2009-10-26 72 views

回答

1

簡短的回答是否定的。 操作系統爲每個可執行文件創建一個「環境」副本。這包括像當前工作目錄,像「PATH」等環境變量列表等內容。如果您的可執行文件更改它是當前工作目錄,則此更改將僅在運行時影響程序自己的環境,但不會影響父進程開始它。

由於每個進程都有自己的「當前目錄」,因此「更改當前目錄」是什麼意思?當前目錄爲什麼?

0

那麼當然有SetCurrentDirectory Win32 API調用。但是,這隻會更改調用進程的工作目錄。由於每次運行可執行文件時,操作系統都會爲其啓動一個新進程,因此不會有這樣做的好方法。

有一個SO question得到這個信息。也許有些東西會幫助你。接受的答案看起來可能會讓你直接訪問它,但看起來確實很危險。如果你對系統進行藍屏或者引入中國Sindrome或其他東西,那是你的錯,而不是我的。 :-)

0

TakeCommand的4DOS擴展命令shell for windows允許您執行此操作。但在基本的.bat?我希望你不得不寫一個命令行的win32 exe文件,它提供了你想要的東西?必須有其他的shell替換,你可以看看--bat和Windows命令行shell是令人難以置信的腦損壞/弱。