[英]Process.start environment path
我有將文本寫入文件的控制台應用程序1,它位於C:/ app1中
using (StreamWriter k = new StreamWriter("777.txt"))
k.WriteLine("aa");
我還有另一個控制台應用程序2,c:/ app2,它啟動了控制台應用程序1
System.Diagnostics.Process.Start("c:/app1/app1.exe");
出於某種原因,當我運行應用程序2時,輸出777.txt將位於folder2中,而不是folder1中。 當我從Windows資源管理器中運行應用程序1時,輸出777.txt將位於folder1中。
我查看並嘗試添加environment.path,但是它沒有解決問題。
您的應用程序1使用的是相對路徑,而不是根路徑。 該路徑是相對於“當前目錄”的,而不是相對於“ path”環境變量的。
Process可以接受ProcessStartInfo實例,該實例包含定義當前目錄的屬性。 您需要在啟動之前將其設置為應用程序1的位置。
請嘗試以下操作:
ProcessStartInfo startInfo = new ProcessStartInfo(@"c:\app1\app1.exe");
startInfo.WorkingDirectory= @"c:\app1";
Process.Start(startInfo);
您應該將"777.txt"
替換為AppDomain.CurrentDomain.BaseDirectory & "777.txt"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.