Directory.GetCurrentDirectory
本文关键字:GetCurrentDirectory Directory | 更新日期: 2023-09-27 18:27:30
我写了一个程序,检查它是否在特定的文件夹中;如果没有,它会将自己复制到该文件夹中,运行复制的程序并退出。但问题是我打电话的时候Directory.GetCurrentDirectory();
在复制的程序中(只有当它由第一个程序运行时),我得到的是第一个程序的目录,而不是复制的程序。这里出了什么问题?
代码:
if(Directory.GetCurrentDirectory()!=dir)
{
File.Copy(Application.ExecutablePath,dir+name);
System.Diagnostics.Process.Start(dir+@"'"+name);
System.Environment.Exit(System.Environment.ExitCode);
}
我总结了我的代码。
您必须在processinfo上使用WorkingDirectory,无需复制文件。
if(Directory.GetCurrentDirectory()!=dir)
{
string exepath = Path.Combine(dir,name);
ProcessStartInfo processStartInfo = new ProcessStartInfo();
process.StartInfo.FileName = exepath;
processStartInfo.WorkingDirectory = dir;
//Set your other process info properties
Process process = Process.Start(processStartInfo);
System.Environment.Exit(System.Environment.ExitCode);
}