copy Befehl

Hier dürfen auch unregistrierte Besucher posten.
Antworten
Wuppertaler68

copy Befehl

Beitrag von Wuppertaler68 »

Hallo zusammen,
ich habe ein kleines Problem bezüglich Batch. Undzwar möchte ich eine Datei per Batchscript in den Autustartordner kopieren, aber wnn ich dieses dann ausführe öffnet sich kurzzeitig ein dosfenster in welchen steht : Das System konnte den angegebenen Pfad nicht finden
0 dateien Kopiert (oder so ähnlich).
wenn ich den Gleichen Befehl dann aber direkt in die CMD eingebe, dann funktioniert dieser.
Wieso ist dass so? Wie kann ich das ändern?
achja der Befehl lautet: copy "%userprofile%\Desktop\test123.txt" "%userprofile%\startmenü\programme\autostart"
Gruß
Wuppertaler68
PromptFreak

Re: copy Befehl

Beitrag von PromptFreak »

Hallo,

Variablen werden in der Batch erstellt.
Set Pfad77=hier
Set Pfad5=dort
Set Laufwerk=C:
C:
Path=%Laufwerk%\;\;%Laufwerk%\%Pfad77%\;\%Pfad5%;

Wobei hier Laufwerk mit LW abgekürzt würde, sonst wäre die Variable länger als der Laufwerksbezeichner selbst.

Du legst also irgendwo Variablen fest. Die Autoexec.bat ist in Windows eigentlich ganz klein. Es empfielt sich sie auch klein zu halten und eine andere BAT zu nutzen, indem man die 2. Bat in der Autoexec.bat aufzurufen. Somit kann man jede Bat den unterschiedlichen Programmen anpassen. Mit dem ''CALL'' Befehl kommt man zur aufrufenden BATCH zurück, ähnlich dem GOSUB Befehl. Ein zum Beispiel ''Batch77.BAT'' verläßt die Batch.

Ich vermute die Batch wird da wo es nicht funktioniert nicht ausgeführt, in der die Variablen stehen.
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: copy Befehl

Beitrag von freecrac »

Ärger mit zu langen Pfadnamen und Dateinamen?

Wildcards '*' und '?' und auch das Tilde-Zeichen "~" können ggf. helfen.

http://de.wikipedia.org/wiki/Dateiname
Problematisch sind außerdem Dateinamen, die das eigentlich erlaubte &-Zeichen enthalten, das von der DOS-Umgebung unter Windows jedoch als Trennzeichen einzeiliger Befehlsketten verwendet wird, so dass alles auf ein &-Zeichen Folgende als eine weitere DOS-Befehlszeile interpretiert wird. In der Konsequenz gibt die Windows-„Eingabeaufforderung“ daher in diesem Fall eine Fehlermeldung aus, dass sie einen Befehl nicht finden oder ausführen konnte, dessen Name der Rest des eingegebenen Dateinamens nach dem &-Zeichen ist, ganz zu schweigen davon, dass die fragliche Datei selbst natürlich auch nicht geöffnet oder bearbeitet werden konnte.
http://de.wikipedia.org/wiki/8.3
Um die Abwärtskompatibilität mit älteren Anwendungen zu erhalten, wird für jeden langen Dateinamen zusätzlich eine 8.3-Variante im Verzeichnis eingetragen, unter der ältere Programme mit derartigen Dateien umgehen können.

Unter MS-Windows wird hierzu folgendermaßen vorgegangen:

Wenn der Dateiname bereits nur aus Großbuchstaben bzw. Ziffern im 8.3-Schema besteht, wird keine LFN-Variante erzeugt.
Beispiel: „TEXTFILE.TXT“
Wenn der Dateiname zwar dem 8.3-Schema entspricht, aber Groß- und Kleinbuchstaben enthält, wird dies als LFN gespeichert, während zusätzlich eine großgeschriebene 8.3-Variante erzeugt wird.

Beispiel: „TextFile.Txt“ wird zusätzlich als „TEXTFILE.TXT“ registriert.
Sonstige Dateinamen werden als LFN gespeichert und zusätzlich wird eine 8.3-Variante registriert. Diese besteht aus den ersten 6 Zeichen des Dateinamens in Großbuchstaben, erweitert um eine Tilde („~“) und eine fortlaufende Ziffer, gefolgt vom Punkt und den ersten drei großgeschriebenen Zeichen der Namenserweiterung.
Beispiel a): „TextFile1.Mine.txt“ wird zu „TEXTFI~1.TXT“ (oder „TEXTFI~2.TXT“, falls „TEXTFI~1.TXT“ bereits existiert).
Beispiel b): „WordFile1.docx“ wird zu „WORDFI~1.DOC“ (oder „WORDFI~2.DOC“, falls „WORDFI~1.DOC“ bereits existiert).
Dirk
Antworten