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,但没有解决问题。
请尝试以下操作:
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"