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