![]() |
Frage: Befehl für Batchfile
Was ist an diesem Befehl falsch?
copy test.txt #MyDocuments#\Flight%Simulator%Files ich möchte per Batchdatei ein File in das Verzeichnis Eigene Dateien\Flight Simulator Files kopieren lassen. |
Hi Nick!
Ich vermute, dass copy die Systemvariable #MyDocuments# nicht interpretieren kann. Du musst also den kompletten Pfad angeben. |
Zitat:
|
Kleiner Nachtrag...
Es gäbe noch die Möglichkeit via Variable %USERPROFILE% Bsp: Code:
copy test.txt "%USERPROFILE%\Eigene Dateien\Flight Simulator Files" Bsp: Code:
if exist "%USERPROFILE%\Eigene Dateien" copy ... Code:
if exist "%USERPROFILE%\MyDocuments" copy ... |
Zitat:
|
Es heißt in der deutschen Version genauso: Flight Simulator Files.
|
Zitat:
|
@Sven
muss es nicht "My Documents" heissen anstatt "MyDocuments"? |
Uff, keine Ahnung, da ich hier die deutsche XP Version hab. Ich hab einfach von Dir kopiert. ;) :cool: Wenn Du bis morgen warten kannst, schau ich mal morgen auf unsere US Maschine.
|
Meiner Meinung nach wird das überhaupt nicht funktionieren.
Das Problem dürften die Leerzeichen in den Pfaden / Verzeichnissen sein. Man kann zwar unter XP mit dem Befehl CD in der Verzeichnisstruktur rumspringen. Nur wenn man Verzeichnis übergreifend (speziell in übergeordneten Pfaden) arbeiten will muss man bei den Befehlen wohl oder übel den Pfad angeben. Ist dann ein Leerzeichen drin klappt es nicht. In DOS war das ja im Prinzip auch verboten Leerzeichen in Verzeichnis Namen zu haben. So steht es zumindest im DOS Handbuch. Klar jetzt könnte man auf die Idee kommen packe ich den Pfad als Zeichenfolge in eine Variable. Dann setze ich die Variable anstatt den Pfad in den Befehl ein. So steht es dann auch im Befehlscode. Nur wenn man genau hinschaut, so ersetzt DOS während der Befehlsausführung in der Batch die Variable wieder durch die zugehörige Zeichenfolge. Und schon geht das wieder in die Hose. Habe ich heute noch mal unter Win98 getestet. Unter XP bin ich nicht zu gekommen. Sollte doch jemand eine Lösung haben, wäre ich daran auch interessiert. Denn an diesem Problem habe ich auch schon gegrübelt. |
Hallo Joachim!
Leerzeichen dürfen ab W2k enthalten sein. Zumindest unter XP auf jeden Fall. Die Konsolenbefehle (DOS gibt es ab W2k nicht mehr) interpretieren dies richtig. Du darfst auch nicht vergessen, dass die Konsolenbefehle an die Verzeichnis- und Namenskonventionen angepasst worden sind. Der Befehl copy geht aber auf jeden Fall mit Leerzeichen. |
Sven, hast Du nachschauen können wegen "My Documents"?
In html kann man Leerzeichen durch % ersetzen - hier auch? Oder ist es nicht nötig? |
Damit Leerzeichen im Pfadnamen akzeptiert werden setzt Du den Pfad einfach unter doppelte Anführungszeichen, also so wie Sven es in seinen Beispielen schon vorgemacht hat.
|
Zitat:
|
Sorry Nick, ich bin heut nicht dazu gekommen auf die US Kiste zu schauen. Ich verspreche es hoch und heilig, gleich morgen früh. Wenn es schneller gehen muss, hilft wohl nur noch ein engl. Flightforum.
PS: Was bastelst denn wieder schönes? |
Zitat:
Ich bastel gerade mit Wolfram an einer Exportversion der Yak-18t, und als nächstes habe ich schon die An-14a im Visier. Die hat zwar keine Bugs, bekommt aber ein Überwachungspaket ähnlich dem der Yak. |
Zitat:
|
Danke für die Info. Habe in der Dok auch ein paar Demoscenerien deren Auswahlmöglichkeiten über Batchmenü laufen. Läuft auch alles super. Nur diese Geschichte mit den Leerzeichen, war immer ein Problem für mich.
Habe da ehrlich gesagt auch nichts zu gefunden gegen diese Problematik. Denn eine Batch ist ja in Zeiten von Win XP nicht mehr unbedingt üblich obwohl man tolle Sachen mit machen kann ohne eine Programmiersprache kaufen zu müssen. Gibt oder gab es offizielle oder andere Informationen was alles unter XP mittels DOS Befehle über Umwege oder Änderungen per Batch möglich ist? |
Damit kommst Du leider auch nur in das Profilverzeichnis des angemeldeten Users.
Code:
echo %HOMEPATH% |
Hallo,
bei mir heißt es "My Documents". Man kann die Variablen auch erweitern: zB. %HOMEPATH%\My Documents Gruß Jörg |
Subba, dann weiß ich ja jetzt Bescheid :-)
|
Für die deutsche Version:
Erstelle eine txt-datei und benenne sie dann um in "cmd" (z.B. test.cmd) Mit rechtem Mausklick im Kontextmenü "Bearbeiten" auswählen und folgendes eintragen(mit den " "): copy test.txt "%USERPROFILE%\Eigene Dateien\Flight Simulator-Dateien" pause Gruß Michael |
Habe was gefunden.
Das mit den (" ") wird ja leider nirgends groß erwähnt. Wie gut das es das Forum gibt. |
Zitat:
Sucht dort mal nach "Batchdateien". Unter dem gleichnamigen Artikel stehen alle Befehle, die man in Batchdateien verwenden kann. Warum nur mit Google suchen, liegt das Gute doch so nah... :D |
@Nick
Das Verzeichnis heißt wohl Code:
X:\Documents and Settings\USERNAME\My Documents |
Zitat:
Dort wird bei mir aber nichts brauchbares gelistet:( ich bin jetzt über Zubehör / Eingabeaufforderung / Befehl Help gegangen. Da bekommt man alles gelistet. |
Zitat:
Naja, ist ja egal. Die Hilfe der Eingabeforderung ist dafür mir nicht eingefallen. :-) |
Seltsam habe jetzt mal beim Notebook geschaut, da existiert es wie Du beschreibst. Bei meinem Tower nicht. Ist allerdings noch XP drauf wie es vorinstalliert war.
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag