簡體   English   中英

Process.start環境路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM