2016-07-26 14 views
0

Ich erstelle eine Fenster-Anwendung und nach Benutzerauswahl Ich erstelle eine Batch-Datei für die Kopie von Dateien in einem Verzeichnis in ein anderes Verzeichnis Datei erstellt wird, aber es nicht ausführen, ich weiß nicht warum? bitte hilfe.Wie man Batch-Datei mit C# ausführen?

in Code ich Benutzer Prozessklasse, Batch-Datei aber seine durch Ausnahme bei proc.start() auszuführen;
Mein Code ist:

  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

Überprüfen Sie Ihre 'destPath' – andy

+0

jetzt Problem ist zu lösen, ich würde gerne danke Mostafiz :) Thanku –

+0

Seien Sie ein Profi und Dinge richtig zu machen. Ein C# -Programmierer schält KEINE Shell-Dateien. Hier ist das MSDN-Beispiel https://msdn.microsoft.com/en-us/library/cc148994(v=vs.100).aspx –

Antwort

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

prüfen sorgfältig eingestellt haben Sie Verzeichnis eine Datei und kein Verzeichnis arbeiten.

Drucken Sie auch die Ausnahmebedingungsnachricht.

Verwandte Themen