WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Simulationen (http://www.wcm.at/forum/forumdisplay.php?f=27)
-   -   Frage: Befehl für Batchfile (http://www.wcm.at/forum/showthread.php?t=196720)

MeatWater 06.08.2006 02:07

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.

Sven Lange 06.08.2006 02:40

Hi Nick!

Ich vermute, dass copy die Systemvariable #MyDocuments# nicht interpretieren kann. Du musst also den kompletten Pfad angeben.

MeatWater 06.08.2006 03:01

Zitat:

Original geschrieben von Sven Lange
Hi Nick!

Ich vermute, dass copy die Systemvariable #MyDocuments# nicht interpretieren kann. Du musst also den kompletten Pfad angeben.

Mist, das ist nicht möglich da sich der Pfadname ändern kann (nicht jeder hat das auf Laufwerk C:\)

Sven Lange 06.08.2006 04:14

Kleiner Nachtrag...

Es gäbe noch die Möglichkeit via Variable %USERPROFILE%

Bsp:
Code:

copy test.txt "%USERPROFILE%\Eigene Dateien\Flight Simulator Files"
Allerdings funktioniert das nur bei deutschen Windows Versionen. Du müßtest in die Batchdatei eine IF Abfrage einbauen ob das Verzeichnis "EIgene Dateien" da ist oder ob das Verzeichnis "MyDocuments" da ist.

Bsp:
Code:

if exist "%USERPROFILE%\Eigene Dateien" copy ...
oder eben
Code:

if exist "%USERPROFILE%\MyDocuments" copy ...
Dann musst Du auch noch abfragen, ob das Verzeichnis "Flight Simulator Files" auch so existiert. Wie die das bei der deutschen Flusi-Version heißt, weiß ich leider nicht.

MeatWater 06.08.2006 11:56

Zitat:

Original geschrieben von Sven Lange
Dann musst Du auch noch abfragen, ob das Verzeichnis "Flight Simulator Files" auch so existiert. Wie die das bei der deutschen Flusi-Version heißt, weiß ich leider nicht.
Danke Sven - kann das mal jemand rauskriegen?

Pidder 06.08.2006 16:30

Es heißt in der deutschen Version genauso: Flight Simulator Files.

MeatWater 06.08.2006 16:35

Zitat:

Original geschrieben von Pidder
Es heißt in der deutschen Version genauso: Flight Simulator Files.
Danke fürs nachschauen!

MeatWater 06.08.2006 16:38

@Sven

muss es nicht "My Documents" heissen anstatt "MyDocuments"?

Sven Lange 06.08.2006 17:47

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.

JOBIA 07.08.2006 17:14

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.

Sven Lange 07.08.2006 18:00

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.

MeatWater 07.08.2006 18:11

Sven, hast Du nachschauen können wegen "My Documents"?

In html kann man Leerzeichen durch % ersetzen - hier auch? Oder ist es nicht nötig?

alfora 07.08.2006 19:39

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.

MeatWater 07.08.2006 19:53

Zitat:

Original geschrieben von alfora
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.
Aha! Dann muß ich jetzt nur noch wissen, ob es "My Documents" oder "MyDocuments" heißt

Sven Lange 07.08.2006 20:00

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?

MeatWater 07.08.2006 21:19

Zitat:

Original geschrieben von Sven Lange
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?

Es geht darum, diverse Startsituationen und Wettereinstellungen per Batchfile austauschen bzw. installieren zu lassen.

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.

alfora 07.08.2006 21:38

Zitat:

Original geschrieben von MeatWater
Aha! Dann muß ich jetzt nur noch wissen, ob es "My Documents" oder "MyDocuments" heißt
Ich bin mir nicht sicher aber ich glaube, dafür gibt es eine eigene Environmentvariable, die den lokalisierten Verzeichnisnamen enthält. Ist das nicht %HOMEPATH% ?

JOBIA 07.08.2006 21:39

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?

Sven Lange 07.08.2006 21:41

Damit kommst Du leider auch nur in das Profilverzeichnis des angemeldeten Users.

Code:

echo %HOMEPATH%

JoGerlach 07.08.2006 21:58

Hallo,

bei mir heißt es "My Documents".

Man kann die Variablen auch erweitern:

zB. %HOMEPATH%\My Documents


Gruß
Jörg

MeatWater 07.08.2006 22:02

Subba, dann weiß ich ja jetzt Bescheid :-)

M.C. 07.08.2006 22:17

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

JOBIA 08.08.2006 06:06

Habe was gefunden.

Das mit den (" ") wird ja leider nirgends groß erwähnt.

Wie gut das es das Forum gibt.

alfora 08.08.2006 08:04

Zitat:

Original geschrieben von JOBIA
Gibt oder gab es offizielle oder andere Informationen was alles unter XP mittels DOS Befehle über Umwege oder Änderungen per Batch möglich ist?
Darf ich ganz kleinlaut auf das Windows Hilfe- und Supportcenter verweisen? ;)

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

Sven Lange 08.08.2006 09:48

@Nick
Das Verzeichnis heißt wohl

Code:

X:\Documents and Settings\USERNAME\My Documents
Allerdings ist dies eine W2k3 Kiste. Eventuell gibs da auch schon wieder Unterschiede zu XP bzw W2K

JOBIA 08.08.2006 19:03

Zitat:

Original geschrieben von alfora
Darf ich ganz kleinlaut auf das Windows Hilfe- und Supportcenter verweisen? ;)

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

Du meinst auf das Windows XP eigene?

Dort wird bei mir aber nichts brauchbares gelistet:(






ich bin jetzt über Zubehör / Eingabeaufforderung / Befehl Help gegangen. Da bekommt man alles gelistet.

alfora 08.08.2006 19:29

Zitat:

Original geschrieben von JOBIA
Du meinst auf das Windows XP eigene?

Dort wird bei mir aber nichts brauchbares gelistet:(

Seltsam. Bei mir (unter XP Professional) gibt's einen Artikel mit dem Namen "Batchdateien". Wenn man nach "BAT" sucht, dann wird er bei der Volltextsuche gelistet. Wenn man nach "Batchdateien" sucht, dann auch bei der normalen Artikelsuche.

Naja, ist ja egal. Die Hilfe der Eingabeforderung ist dafür mir nicht eingefallen. :-)

JOBIA 09.08.2006 21:31

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