我有控制台应用程序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,但它并没有解决问题。
发布于 2014-08-28 04:16:17
请试用以下方法:
ProcessStartInfo startInfo = new ProcessStartInfo(@"c:\app1\app1.exe");
startInfo.WorkingDirectory= @"c:\app1";
Process.Start(startInfo);发布于 2014-08-28 04:12:39
应用程序1使用的是相对路径,而不是根路径。该路径相对于“当前目录”,而不是“路径”环境变量。
进程可以接受ProcessStartInfo实例,该实例包含要定义当前目录的属性。您需要在启动应用程序1之前将其设置为应用程序1的位置。
发布于 2014-08-28 04:20:27
您应该将"777.txt"替换为AppDomain.CurrentDomain.BaseDirectory & "777.txt"
https://stackoverflow.com/questions/25540553
复制相似问题