Programm aus Unterverzeichnis öffnen
-
also heisst das ich könnte teoretisch gesehen folgendes amchen
system("echo lol") und er würde "lol" ausgeben?
funzt das auch mit copy und remove befehlen?
-
mcdgt schrieb:
also heisst das ich könnte teoretisch gesehen folgendes amchen
system("echo lol") und er würde "lol" ausgeben?
funzt das auch mit copy und remoiv befehlen?
Ja! Probiers doch einfach aus.
Und denk dran, dass dies hochgradig unportabel ist. Und wenn's sowieso schon unportabel ist, kann man auch gleich Betriebssystemfunktionen nutzen. Oder besser noch eine Bibliothek die diese Funktionen kapselt und für verschiedene Systeme zur Verfügung stellt.
-
Gibt es dafür eine? Ich bin nämlich keine Experte sondern ein noob in dem gebiet^^
-
mcdgt schrieb:
Gibt es dafür eine? Ich bin nämlich keine Experte sondern ein noob in dem gebiet^^
Wofür? Kopieren und Löschen von Dateien? boost::filesystem.
-
Für relative pfade per system Funktion dass was SeppJ vorher poster gepostet hat
-
Ich hab ales versucht aber des will und will net funzen kann mir pls wer helfen ich hab die selben vorraussetzungen
-
dann poste doch mal, dein komplettes programm (wird ja nicht länger als 30zeilen sein) und die ausgabe dazu...
lies dir davor vll noch mal den Beitrag von SeppJ durch - denn die Ausgaben sind das interessante...
bb
-
#include <iostream>
#include <string>using namespace std
int main()
{cout <<"Verzeichnis wechseln: "<<endl;
system("cd debug");
system("dir");
system("pause");return 0;
}
-
Jedes system macht eine neue Shell auf. Das heißt sowas wie "cd debug" bringt genau nichts, da eine Shell geöffnet wird, das Verzeichnis gewechselt, Shell geschlossen. Und beim nächsten system ist alles vergessen. Wenn du mehrere Befehle nacheinander in einer Shell ausführen willst, dann musst du die Mittel dieser Shell zur Befehlsverkettung nutzen oder ein Shellscript aufrufen.
-
aso kannst du mir nen quellcode dafür geben?
-
mcdgt schrieb:
aso kannst du mir nen quellcode dafür geben?
Für welche Shell? Für bash und die meisten anderen Unix-Shells wäre es:
system("cd debug; dir; pause");
Mag sein, dass das auch für die Windows-Shell so geht, habe gerade keine da und ich bin kein Doku-Lese-Automat der das herausfinden kann.
-
Gilt das auch für windows?
-
sorry war als guest eingeloggt. würde
system(" cd debug;lol.bat ");
funzen???
-
Mal so eine Frage wenn ich das jetzt wie folgt mache funzt das denn?
system("cd lol; lol.exe");?
hat bei dir net gefunzt why?
-
weil die windows-shell das nicht kann.
was sie aber kann:
&&->
system("cd debug && lol.bat");
bb