Process.start环境路径

本文关键字:路径 环境 start Process | 更新日期: 2023-09-27 18:19:37

我有一个控制台应用程序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,但没有解决问题。

Process.start环境路径

请尝试以下操作:

        ProcessStartInfo startInfo = new ProcessStartInfo(@"c:'app1'app1.exe");
        startInfo.WorkingDirectory= @"c:'app1";
        Process.Start(startInfo);

您的应用程序1使用的是相对路径,而不是根路径。该路径相对于"当前目录",而不是"路径"环境变量。

进程可以接受ProcessStartInfo实例,该实例包含用于定义当前目录的属性。在启动应用程序1之前,您需要将其设置为应用程序1的位置。

您应该将"777.txt"替换为AppDomain.CurrentDomain.BaseDirectory & "777.txt"