2
我開發,使用的子進程的Process
API,與UseShellExecute
設置爲false
派生的應用程序。這個問題是我不想去尋找我產生的進程,因爲它們在我的系統PATH中可用。例如,我想通過輸入SCRIPT_NAME.py ARGUMENTS
來運行Python腳本。但是,當我設置Process.FileName
是SCRIPT_NAME.py
,我得到一個錯誤,告訴我它找不到SCRIPT_NAME.py
。我想工作目錄是哪裏SCRIPT_NAME.py
是,否則我將不得不指定SCRIPT_NAME.py
和它的參數,這是荒謬的和過度的絕對路徑。如何在Process.UseShellExecute = false的情況下使用系統PATH?
我可以用cmd.exe /C SCRIPT_NAME.py ARGUMENTS
避免這一點,但有問題用武力制止正在推我在這個方向上,而不是命令提示符。
'UseShellExecute = FALSE'基本上轉化爲一個完整的(相對或絕對)路徑的要求。 –
Windows *總是*搜索PATH環境變量中列出的目錄。無論使用UseShellExecute。不向我們展示你的PATH看起來像什麼使它很難幫助你。 –