system("c:\\sample\\startAll.bat") kann nicht ausgeführt werden, da der working-directory?

Ich habe eine Anwendung und ausführbare Dateien. Ich möchte meine Anwendung laufen meine ausführbaren Dateien.

Die ausführbaren Dateien sind in einem Ordner, sagen wir, in "c:\sample".

In diesem Verzeichnis gibt es eine batch-Datei, ruft meine exe. wie:

start a1.exe
start a2.exe
start a3.exe

nennen wir es als startAll.bat

und nehme jede exe hat sich eine Daten, wie a1.dat a2.dat ... und diese Dateien werden in der Nähe dieser exe.

Möchte ich nennen, diese batch-Datei meiner Anwendung.

system("c:\\\\sample\\\\startAll.bat");

wenn ich nennen mag, Befehl kann nicht finden diese exe-Datei ist.

wenn ich auf add directory-Namen, batch-Dateien, kann es nicht finden, die Daten, die Zeit.
Ich denke, es ist, weil der working-directory.

start c:\sample\a3.exe

wie kann ich das ändern das Arbeitsverzeichnis, bevor ich nenne diese batch-Datei?

oder empfehlen Sie etwas anderes?

  • system("C:\\sample\\...\\foo.bat"); sollte funktionieren, so führt dies mich zu glauben, dass etwas anderes falsch ist. Sind Sie sicher, dass Sie auch alle notwendigen Bibliotheken, etc.?
  • es funktioniert, aber die batch-Datei nicht, rufen Sie die ausführbaren Dateien, weil Sie es nicht finden können..
  • Als Peter darauf hin, wenn Ihre wichtigsten ausführbare Datei auf einem anderen Laufwerk als C:, die Antwort ist etwas anders. Ich aktualisiert meine Antwort wieder.
  • Sie sind ja auf verschiedenen Laufwerken.. hmm.. ich denke, dass ist das problem...
InformationsquelleAutor ufukgun | 2009-09-03
Schreibe einen Kommentar