mbrgel69
Goto Top

Xcopy kann den Pfad nicht finden warum?

Wenn ich ein Batch mit xcopy schreibe:

@echo off
xcopy *.bat C:\test\
pause

Kopiert er diese ohne Probleme!

Möchte ich diese jedoch autmatisch in den Autostart verschieben

xcopy *.bat C:\Users\Mathias Bürgel\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
o. nur
xcopy *.bat C:\Users\Mathias Bürgel\

geht es nicht auch wenn ich den Pfad in

xcopy *.bat "C:\Users\Mathias Bürgel\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"

oder

xcopy *.bat C:\Users\"Mathias Bürgel"\AppData\Roaming\Microsoft\Windows\"Start Menu"\Programs\Startup\

angebe:?

Vielleicht haben Sie eine Lösung den Pfad richtig zu schreiben!


Grüße Mathias Bürgel

Content-Key: 275836

Url: https://administrator.de/contentid/275836

Ausgedruckt am: 28.03.2024 um 16:03 Uhr

Mitglied: mikimoto
Lösung mikimoto 27.06.2015, aktualisiert am 28.06.2015 um 11:45:22 Uhr
Goto Top
Hallo Mathias,

Lass mal deinen Nachnamen weg, also:

xcopy *.bat "C:\Users\Mathias\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"

und natürlich den ganzen Pfad in Gänsefüsschen (wegen Leerzeichen in Start Menu)

War bei meinem Namen das Gleiche, Umlaut im Nachnamen,

Gruß von Michael Zöllkau
Mitglied: bastla
Lösung bastla 27.06.2015, aktualisiert am 28.06.2015 um 11:45:33 Uhr
Goto Top
@ mikimoto

Mit den Anführungszeichen (wegen des Leerzeichens) hast Du völlig recht, aber nur, weil mir ein Teil des Pfades nicht gefällt, kann ich den nicht einfach weglassen ... face-wink

Wie der Pfad genau latuen müsste, ließe sich zwar mit
echo %userprofile%
herausfinden, ist aber in diesem Fall gar nicht nötig, weil der Teil "C:\Users\Mathias Bürgel\AppData\Roaming" ohnehin als Systemvariable %appdata% zur Verfügung steht - damit würde sich die Zeile auf
xcopy *.bat "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\"
reduzieren.

Welche Systemvariablen automatisch erstellt werden, lässt sich mit einem einfachen
set
herausfinden.

Was die Umlaute angeht: CMD verwendet ASCII, Windows ANSI - daher werden im Windows-Editor geschriebene Umlaute in Batch als andere Zeichen interpretiert. Abhilfe schafft hier ein alternativer Editor oder ein Workaround der Art
>>Batchdatei.bat echo Mathias Bürgel
- damit wird (in für den Batch "verständlicher" Codierung) der Name in die Batchdatei geschrieben und kann auch mit dem Windows-Editor weiter bearbeitet werden. Dass im Falle des "ü" der Umlaut nicht dargestellt wird - im Editor sieht das so aus:
Mathias Brgel
- bedeutet nicht, dass er nicht dennoch da wäre ... face-wink

Grüße
bastla
Mitglied: mikimoto
Lösung mikimoto 27.06.2015, aktualisiert am 28.06.2015 um 11:45:37 Uhr
Goto Top
@ bastla

Du hast natürlich Recht, man kann nicht einfach einen Teil des Pfades weglassen.
Bei mir ist es aber so, dass mein Windows-Kontoname Michael Zöllkau ist, der Name erscheint auch, wenn du im Explorer %userprofile% eingibst.
Tatsächliche Umgebungsvariablen sind:

USERPROFILE ist C:\Users\Michael
APPDATA ist C:\Users\Michael\Appdata\Roaming


Mir ist nicht mehr bewusst, dass ich bei der Windows-Erstinstallation den Benutzer-Verzeichnisnamen selbst festlegen kann. Oder doch???

Deshalb sollte Mathias auch mal schauen, wie sein APPDATA aussieht.

Gruß
Michael
Mitglied: emeriks
Lösung emeriks 27.06.2015, aktualisiert am 28.06.2015 um 11:45:42 Uhr
Goto Top
Hi,
hast Du schon mal Robocopy versucht? Ist auf jedem Rechner drauf (min. seit Vista/2008).

E.
Mitglied: Mbrgel69
Mbrgel69 28.06.2015 um 11:46:39 Uhr
Goto Top
So hat es wunderbar geklappt !

Danke


@echo off
copy copy.bat "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\"
pause >NUL
Mitglied: Nemo-G
Nemo-G 28.06.2015 um 12:03:58 Uhr
Goto Top
Das mt dem alternativen Editor, der auch ASCII spricht, kam schon. (Ich selbst benutze PSPAD mit dem Haken bei OEM unter dem Menü "Format" für Batchdateien.)
Was lernen wir daraus?
Auch, wenn moderne Windows-Versionen uns glauben lassen, wir könnten Im Dateisystem und auch in der Benutzerverwaltung mal einfach unsere deutschen Ümläüte oder auch Leerstellen benutzen, so werden wir wie im geschilderten Fall belehrt, dass es in einer angelsächisch doninierten IT besser ist, auf nationale Sonderzeichen und häufig auch auf Leerstellen zu verzichten.
Auch der Blick in die Systemvariablen (Aufruf "set" auf der Kommandozeile) bringt in manchen Fällen Anachronistisches zutage: Die Variablen %TEMP% und auch %TMP% verkürzen die richtigen Pfadangaben auf die eigentlich überholt geglaubten 8.3-Dateinamen-Konvention.
Ähnliche Vorischt ist auch beim Datenaustausch zwischen den verschiedenen Systemwelten (Win, Mac, Linux, Unix) geboten. Wie sich das mit dem in der Großrechnerwelt früher üblichen EBCDIC verhält, habe ich schon lange aus den Augen verloren..