Ordner über Zeichenkette suchen
Hallo zusammen, nachdem ich jetzt schon ein Woche bastle und suche, brauche ich doch eure Hilfe.
Ich habe schon eine umfangreiche Batch-Datei erstellt zum Sichern unterschiedlicher Ordner.
Jetzt stehe ich aber vor dem Problem, dass ich auch Ordner (und nur solche) kopieren muss, die eine bestimmte Zeichenkette (z.B. "T_" oder "S_" enthalten).
Ein derartiger Ordner sieht also wie folgt aus:
D:\Test\T_XXX
D:\Test\AAAA
D:\Test\BBBBB
D:\Test\S_XXX
Wie finde ich solche Ordner (ohne die anderen, die diese Zeichenkette nicht enthalten) und bekomme den Pfad in eine Variable,
damit ich diese innerhalb der Batch-Datei an robocopy übergeben kann.
Vielen Dank schon im Voraus!
Viele Grüße
Bayman52
Ich habe schon eine umfangreiche Batch-Datei erstellt zum Sichern unterschiedlicher Ordner.
Jetzt stehe ich aber vor dem Problem, dass ich auch Ordner (und nur solche) kopieren muss, die eine bestimmte Zeichenkette (z.B. "T_" oder "S_" enthalten).
Ein derartiger Ordner sieht also wie folgt aus:
D:\Test\T_XXX
D:\Test\AAAA
D:\Test\BBBBB
D:\Test\S_XXX
Wie finde ich solche Ordner (ohne die anderen, die diese Zeichenkette nicht enthalten) und bekomme den Pfad in eine Variable,
damit ich diese innerhalb der Batch-Datei an robocopy übergeben kann.
Vielen Dank schon im Voraus!
Viele Grüße
Bayman52
Please also mark the comments that contributed to the solution of the article
Content-Key: 260114
Url: https://administrator.de/contentid/260114
Printed on: April 19, 2024 at 11:04 o'clock
10 Comments
Latest comment
Hallo Bayman52!
Wenn das Ziel "F:\Test-2\T_xxx" heißen soll, musst Du es auch so angeben ...
Ansonsten würde sich aber auch in diesem Fall eher
anbieten ...
Grüße
bastla
{Edit] Tippfehler korrigiert [/Edit]
Wenn das Ziel "F:\Test-2\T_xxx" heißen soll, musst Du es auch so angeben ...
In Verbindung mit FOR geschieht nichts, obwohl der Befehl im Konsolen-Fenster richtig angezeigt wird.
Ändert sich das, wenn Du das echo
(war zum Testen gedacht, damit Du zuerst sehen kann, was passieren würde) weglässt? Ansonsten würde sich aber auch in diesem Fall eher
for /d %%i in ("F:\Test-1\T_*") do robocopy "%%i" "F:\Test-2\%~nxi" /s /r:1 /w:1 /LOG:%Log_File% /purge
Grüße
bastla
{Edit] Tippfehler korrigiert [/Edit]
Hi,
dann springe doch vorher einfach in das Quellverzeichnis, dann hat Dein Parameter %%i nur den Ordner, nicht den ganzen Pfad.
Dann kannst Du den Parameter auch für den Zielordner verwenden.
D:
CD \TEST
for /d %%i in ("T_*") do (
robocopy "%%i" "D:\TESTBACKUP\%%i" /E /R:3 /W:5 /COPY:DAT /NP /MIR /FFT
)
(Die RoboCopy-Parameter hinten bitte noch entsprechend anpassen, habe das hier beispielhaft für einen Mirror und ohne Log-File gemacht)
So gehts auf jeden Fall, habe ich getestet
Gruss RS
dann springe doch vorher einfach in das Quellverzeichnis, dann hat Dein Parameter %%i nur den Ordner, nicht den ganzen Pfad.
Dann kannst Du den Parameter auch für den Zielordner verwenden.
D:
CD \TEST
for /d %%i in ("T_*") do (
robocopy "%%i" "D:\TESTBACKUP\%%i" /E /R:3 /W:5 /COPY:DAT /NP /MIR /FFT
)
(Die RoboCopy-Parameter hinten bitte noch entsprechend anpassen, habe das hier beispielhaft für einen Mirror und ohne Log-File gemacht)
So gehts auf jeden Fall, habe ich getestet
Gruss RS