2016-07-26 17 views
0

私は1つのウィンドウアプリケーションを作成し、ユーザーごとに選択すると、1つのディレクトリ内のファイルを別のディレクトリにコピーするためのバッチファイルを1つ作成しますが、そのファイルは実行されません。助けてください。C#を使用してバッチファイルを実行するには?

(コードi)バッチファイルを実行するためのユーザープロセスクラスですが、proc.start()で例外が発生します。
私のコードは次のとおりです。慎重にあなたが作業ディレクトリにファイルではなくディレクトリを設定している

  Process proc = null; 
      string tempPath = @"C:\Users\jsolanki\Desktop\temp.bat"; 
      StreamWriter sw = new StreamWriter(tempPath); 
      StringBuilder content = new StringBuilder(); 
      foreach (string item in tempList) 
      { 
       content.Append(string.Format("Copy \"{0}\" \"{1}\\\" \r\n", item, destPath)); 

      } 

      sw.WriteLine(content); 
      sw.Close(); 

      string batDir = tempPath; 
      proc = new Process(); 
      proc.StartInfo.WorkingDirectory = batDir; 
      proc.StartInfo.FileName = "temp.bat"; 
      proc.StartInfo.CreateNoWindow = false; 
      proc.Start(); 
      proc.WaitForExit(); 
      MessageBox.Show("Copy is Complete"); 
+0

「destPath」を確認してください。 – andy

+0

問題は解決しました。私はMostafizに感謝したいです:)ありがとう –

+0

プロフェッショナルで適切なことをしてください。 C#プログラマーはバッチファイルにシェルしません。 MSDNのサンプルはこちらですhttps://msdn.microsoft.com/en-us/library/cc148994(v=vs.100).aspx –

答えて

0
string tempPath = @"C:\Users\jsolanki\Desktop\temp.bat"; 
string batDir = tempPath; 
proc.StartInfo.WorkingDirectory = batDir; 

チェック。

例外メッセージも出力します。