Hi Leute,
Jetzt muss ich euch nochmal mit einer Frage nerven.
Ich bin gerade dabei mir eine kleine DOS Anwendung zu schreiben bei der ich vordefinierte Pfade über einen Shortcut aufrufe um in der DOS Box von XP das Verzeichnis zu wechseln.
Dafür möchte ich den Befehl Chdir bzw cd mittels der funktion System() übergeben.
Wenn ich einfach nur "cd" übergebe, klappt es auch dass ich info über den aktuellen Pfad bekomme.
Auch bekomme ich eine Fehlermeldung wenn ich wissentlich ein falsches Verzeichnis angebe.
Das sagt mir das der Befehl schon übergeben wird.
Nur leider wenn ich einen korrekten Pfad oder Verzeichnis angeben dann passiert nüx. Selbst über Errno bekomme ich die 0 zurück in einem solchen fall.
Jetzt frage ich mich ob einer von euch ein Idee hat, wie über system() dem CD befehl dazu bewegen kann, dass verzeichnis zu wechseln, Bzw. gibt es noch einen anderen weg DOS befehle an die Box zu übergeben?
Bei der Gelegenheit ist mir auch aufgefallen dass es anscheinend nicht klappt mit z.b. system("D:") das Laufwerk zu wechseln.
Für Rat wäre ich sehr dankbar.
Rüdiger
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
Ach soooooooooo ….
Ich habe das bei mir getestet. Allerdings habe ich hier "nur" eine Linux – Kiste.
Das Problem ist folgendes:
Das CMD und dein Programm dass du startest sind eigenständige Prozesse. Der Pfad wir also nur innerhalb von deinem Programm gewechselt. Hier ginge es nun Richtung Betriebssystemgrundlagen und Systemprogrammierung, aber dazu ist es wohl noch etwas zu früh.
Das ist nicht wertend gemeint, es ist nur so, dass zuviel auf einmal ziemlich verwirrend sein kann.
Solltest du dennoch Interesse daran habe, hier ein Link:
Linux/Unix-Systemprogrammierung
Leider habe ich keinen schlauen Link für Windowssystemprogrammierung gefunden
Ansonsten bleib bei deinem Batch – Script, was, wie schon gesagt, eine gute Lösung ist, denn dass ist genau das, wofür Scriptsprachen gedacht sind.
Gruss, d-oli