CMD - Leerzeichen in Verzeichnissen
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
ansatz
code
dank
ergebnis
folge
frage
funktioniert code
jemanden
kopieren
not
pfad
problem
server
setting
umgehen
url
versuchen
verzeichnis
vorgehen
ziel
-
Huhu,
Der T bräuchte mal eben ein wenig Unterstützung bei einer kleinen Batchdatei.
Ziel:
Sämtliche .pst Files auf C:\ nach ZIEL kopieren (hier ein Netzlaufwerk).
Problem:
Der Codeschnippsel da unten funktioniert für alle Verzeichnisse ohne Leerzeichen darin, scheitert ergo bereits an "Documents and Settings".
Frage:
Wie kann ich hier vorgehen, damit auch die Verzeichnisse mit Leerzeichen durchsucht und richtig verwendet werden?
Das Ergebnis hierbei ist anstelle von C:\Documents and Settings\USER\Desktop\test.pst -> C:\Documents, weshalb anstelle des PST nichts kopiert wird.
1.@echo off 2.cd C:\ 3.for /f %%a IN ('dir /B /S *.pst') do call xcopy %%a \\server\pfad 4.exit
Danke im Voraus :)
EDIT:
Habs bereits gelöst, falls es jemanden interessiert - mein Ansatz beruht jetzt auf zwei Batchdateien:
install.cmd:
IF NOT EXIST C:\pst_backup mkdir C:\pst_backup xcopy "\\server\pfad\pst_backup.cmd" C:\pst_backup /V /Y
pst_backup.cmd:
Ist bestimmt nicht die schönste Lösung, aber funktioniertcd C:\ dir /b /s *.pst > "C:\pst_backup\path.txt cd C:\pst_backup FOR /F "delims=" %%i in (path.txt) do ( xcopy "%%i" "\\server\pfad" /V /Y )
Beitrag zuletzt geändert: 25.7.2012 13:12:46 von schwarztee -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
3.for /f "DELIMS=" %%a IN ('dir /B /S *.pst') do call xcopy %%a \\server\pfad
denke ich sollte das Problem lösen (ungetestet) -
hackyourlife schrieb:
Ansonsten einfach mal so versuchen:@echo off cd C:\ for /f %%a IN ('dir /B /S *.pst') do call xcopy "%%a" \\server\pfad exit
Also Anführungszeichen um das %%a beim xcopy.. das sollte es auch beheben
Danke, das hatte ich schon probiert, hatte leider einfach nur zur Folge dass anstelle von C:\Documents dann "C:\Documents" übergeben wurde
burgi schrieb:
3.for /f "DELIMS=" %%a IN ('dir /B /S *.pst') do call xcopy %%a \\server\pfad
denke ich sollte das Problem lösen (ungetestet)
Das war wohl der richtige Ansatz, aber auch nicht perfekt. Da das CMD auf einem Server abgelegt ist, habe ich permanent die Meldung erhalten, dass es nicht mit UNC Pfaden umgehen kann. (Dafuq?)
Wie dem auch sei, ich habe für mich eine brauchbare Lösung gefunden - > Siehe editierter Post
Merci euch beiden! -
Du hättest nur for /f "tokens=*" verwenden brauchen.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage