Veröffentlicht 5. August 200817 j Hallo ITler ;-) Ich habe ein Problem und zwar: Ich schreibe in eine .bat Datei einen "start" Befehl für eine Datei. Z. B.: start "C:\Dokumente und Einstellungen\...usw.." Und genau hier ist eigentlich schon mein Problem, denn Leerzeichen machen dem start Befehl anscheinend Probleme. Die Fehlermeldung lautet dann: "C:\Dokumente" konnte nicht gefunden werden. Stellen Sie sicher, dass Sie den Namen korrekt eingegeben haben und wiederholen Sie den Vorgang. Klicken Sie auf "Start" und anschließend auf "Suchen", um eine Datei zu suchen. Dann ist mir eingefallen, man könnte es vielleicht so lösen: Man springt mit einem "cd" Befehl zu dem Pfad hin und macht dann nur noch den "start" auf die eigentliche Datei (man befindet sich also im Ordner wo die Datei liegt). Allerdings löst das glaub ich nicht mein Problem, wenn die Datei selber Leerzeichen hat. Nun würde ich gerne wissen, wie man in einer Batch Datei den Befehl schreibt in einen Pfad zu hüpfen und dort eine Datei ausführt. Für weitere Ideen bin ich natürlich offen ;-) Grüße
5. August 200817 j Autor Also ich habs geschafft! Für alle die auch so ein Problem haben hier mein Code in der Batch-Datei: pushd "C:/Dokumente und Einstellungen/Sebastian/Desktop/" start 100_1078.jpg
5. August 200817 j Servus, Du musst nicht gleich den Umweg über eine Batchdatei gehen. Wie hast Du denn das Runtime#exec() aufgerufen? Wenn Du uns ein Beispiel zeigst, kann man vielleicht besser helfen. Allgemein gilt: es gibt die Version, von exec, die lediglich einen String erwartet mit dem kompletten Befehl. Die ist immer ein bisschen problematisch, weil die VM nicht mehr dran drehen kann bei der Übergabe ans OS. Eine andere Version von exec erwartet ein String-Array. In diesem sind die Parameter jeweils einzeln aufgeführt. Das hat bei mir bis jetzt immer geklappt. Peter
5. August 200817 j Probier's mal mit: start "C:/Dokumente und Einstellungen/Sebastian/Desktop/100_1078.jpg" bzw. Runtime.exec("start \"C:/Dokumente und Einstellungen/Sebastian/Desktop/100_1078.jpg\"");
7. August 200817 j Für diejenigen die es interessiert: Wer Prozesse aus der VM heraus starten möchte und etwas 'mehr' damit herumspielen möchte, kann neben , java.lang.String[], java.io.File)]Runtime.exec auch den ProcessBuilder nutzen. Gruß
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.