簡體   English   中英

Directory.GetCurrentDirectory

[英]Directory.GetCurrentDirectory

我編寫了一個程序來檢查它是否在特定的文件夾中。 如果沒有,它將自身復制到該文件夾​​中,運行復制的程序並退出。 但是問題是當我調用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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM