Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Gewisse Befehle in Batch klappen nicht mit C++

Sovebämse / 12 Antworten / Flachansicht Nickles

Hallo

Habe innerhalb eines C++ Programms eine Batch-Datei ausführen wollen mit Hilfe des Befehls "system()". Dies geht zwar, allerdings funktionieren (bislang) zwei Befehle so nicht.

Das eine wäre "net use". Führe ich die Batch normal aus, klappt alles, das Netzlaufwerk wird verbunden. Führe ich die Batch aus dem C++ Programm aus, erscheint die Meldung "Systemfehler 85 aufgetreten. Der lokale Gerätename wird bereits verwendet." Ein weiteres Problem ist der Start von "explorer.exe". Normal ausgeführt innerhalb einer Batch klappt es tip top. Aus dem C++ Programm heraus, passiert nix, das heisst, der zuvor abgeschossene Explorer wird nicht mehr neu gestartet. Hier hat es dann aber genützt, die Batch in eine Exe umzuwandeln, da geht's dann. Bei "net use" aber auch mit der Exe-Datei nicht. Kann mich jemand aufklären?

Gruss und Dank
Thomas

bei Antwort benachrichtigen
Sovebämse Borlander „Naja, Du könntest zumindest die einzelnen Befehle aus der Zeit Batch-Datei zumindest mal mit Sytem ausführen. Ggf via cmd.exe.“
Optionen

Hallo

Das habe ich versucht, also mit "net use" und System. Leider passiert hier aber gar nichts. Er kompiliert zwar und führt aus, aber das Laufwerk wird nicht verbunden.

Der Code dazu:

system("net use R: \\\\UNT-Server01\\plattform\\ /USER:thomas.s Jxcx8134");

* Benutzername und Passwort natürlich nicht den Tatsachen entsprechend ;-) Alles andere 1:1.

Gibt es eine Möglichkeit, eine allfällige Fehlermeldung einzusehen? Das DOS-Fenster erscheint nur sehr kurz und selbst mit einer eingebauten Pause oder dem Warten auf eine Eingabe per cin sieht man nichts ausser eben des Cursors, der auf eine Eingabe wartet. 

Gruss
Thomas

bei Antwort benachrichtigen