kostenloser Webspace werbefrei: lima-city


CMD - Leerzeichen in Verzeichnissen

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    s********e

    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:
    cd 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
    )
    Ist bestimmt nicht die schönste Lösung, aber funktioniert :thumb:


    Beitrag zuletzt geändert: 25.7.2012 13:12:46 von schwarztee
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    3.for /f "DELIMS=" %%a IN ('dir /B /S *.pst') do call xcopy %%a \\server\pfad

    denke ich sollte das Problem lösen (ungetestet)
  4. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    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

    Beitrag zuletzt geändert: 25.7.2012 12:47:53 von hackyourlife
  5. Autor dieses Themas

    s********e

    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 :biggrin:

    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!
  6. t********g

    Du hättest nur for /f "tokens=*" verwenden brauchen.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!