0
這只是一個簡單的問題,我相信有人能夠很快回答,因爲我很可能只是錯過了一些東西。C#Process.Start在批處理文件中搞亂了URI
可以說我有以下的目錄佈局
Folder1
-> CurrentlyRunning.EXE
-> Folder2
ProcessToStart.Bat
ApplicationToStartFromBat.exe
這是應用程序中的代碼。
CurrentlyRunning.EXE:
var proc = new Process
{
StartInfo =
{
FileName = "Folder2/ProcessToStart.Bat",
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
UseShellExecute = false
}
};
proc.Start();
ProcessToStart.Bat:
START ApplicationToStartFromBat.exe
現在,如果我在上面運行通過雙擊ProcessToStart.Bat,它會打開ApplicationToStartFromBat.exe沒有問題(這是很好的)。如果我運行CurrentlyRunning.EXE(它將執行我上面發佈的代碼),BAT文件失敗,說它找不到我的EXE(這真的很奇怪)。
如果我改變BAT文件:
START Folder2/ApplicationToStartFromBat.exe
,然後運行CurrentlyRunning.EXE,蝙蝠會再正常打開ApplicationToStartFromBat.exe。我的問題是我不能因爲某種原因改變蝙蝠內部的代碼。
爲什麼proc.Start()
導致bat文件搜索根目錄改變,我該如何阻止這種情況發生?
感謝