Dateien per Batch kopieren - Diesmal etwas komplexer
Wer kann mir helfen?
Ich habe folgendes vorliegen:
1 Ordner mit ca. 1.500 Unterordnern, die jeweils völligst unterschiedliche Bezeichnungen haben.
In jedem Unterordner befindet sich ein weiterer Unterordner mit dem Namen SRC (immer gleich).
Also bspw.: C:\MeinOrdner\ordnerxyz234\SRC\
In jedem SRC Ordner liegen mehrere Dateien. Darunter ist jeweils einmal ein Word- und ein Excel Dokument. Die beiden Dokumente haben immer den Namen Profil-IchBinVariabel.doc & Konstrukt-IchBinVariabel.xls, wobei die Phrase IchBinVariabel tatsächlich variabel ist und in jedem Unterordner-Namen entspricht (bspw.: Profil-ordnerxyz234.doc).
Ich benötige folgendes:
Eine Kopie der beiden .doc & .xls in einem anderen Ordner, in dem für jedes doc&xls-Pärchen ein neuer Unterordner erstellt wird. Der Unterordner muss allerdings genauso lauten, wie der Original-Unterordner.
Also bspw.: C:\MeinZweiterOrdner\ordnerxyz234\Profil-ordnerxyz234.doc
& C:\MeinZweiterOrdner\ordnerxyz234\Konstrukt-ordnerxyz234.xls
Im Grunde fällt also der Unterordner SRC jeweils weg.
Wer kann mir dabei helfen? Ich bin schon die ganze Zeit am googlen und hier im Forum waren schon ähnliche Probleme beschrieben. Etwas passendes habe ich aber leider nicht finden können.
Gruß,
6zeichen
Ich habe folgendes vorliegen:
1 Ordner mit ca. 1.500 Unterordnern, die jeweils völligst unterschiedliche Bezeichnungen haben.
In jedem Unterordner befindet sich ein weiterer Unterordner mit dem Namen SRC (immer gleich).
Also bspw.: C:\MeinOrdner\ordnerxyz234\SRC\
In jedem SRC Ordner liegen mehrere Dateien. Darunter ist jeweils einmal ein Word- und ein Excel Dokument. Die beiden Dokumente haben immer den Namen Profil-IchBinVariabel.doc & Konstrukt-IchBinVariabel.xls, wobei die Phrase IchBinVariabel tatsächlich variabel ist und in jedem Unterordner-Namen entspricht (bspw.: Profil-ordnerxyz234.doc).
Ich benötige folgendes:
Eine Kopie der beiden .doc & .xls in einem anderen Ordner, in dem für jedes doc&xls-Pärchen ein neuer Unterordner erstellt wird. Der Unterordner muss allerdings genauso lauten, wie der Original-Unterordner.
Also bspw.: C:\MeinZweiterOrdner\ordnerxyz234\Profil-ordnerxyz234.doc
& C:\MeinZweiterOrdner\ordnerxyz234\Konstrukt-ordnerxyz234.xls
Im Grunde fällt also der Unterordner SRC jeweils weg.
Wer kann mir dabei helfen? Ich bin schon die ganze Zeit am googlen und hier im Forum waren schon ähnliche Probleme beschrieben. Etwas passendes habe ich aber leider nicht finden können.
Gruß,
6zeichen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 68691
Url: https://administrator.de/forum/dateien-per-batch-kopieren-diesmal-etwas-komplexer-68691.html
Ausgedruckt am: 22.04.2025 um 13:04 Uhr
3 Kommentare
Neuester Kommentar
Als ersten ungetesteten versuch würd ichs so machen:
miniversum
@echo off
FOR /F "delims=" %%n in ('dir /B /AD "C:\MeinOrdner\"') do (
md "C:\MeinZweiterOrdner\%%n"
copy "C:\MeinOrdner\%%n\SPC\Profil-%%n.doc" "C:\MeinZweiterOrdner\%%n\"
copy "C:\MeinOrdner\%%n\SPC\Konstrukt-%%n.xls" "C:\MeinZweiterOrdner\%%n\"
)
FOR /F "delims=" %%n in ('dir /B /AD "C:\MeinOrdner\"') do (
md "C:\MeinZweiterOrdner\%%n"
copy "C:\MeinOrdner\%%n\SPC\Profil-%%n.doc" "C:\MeinZweiterOrdner\%%n\"
copy "C:\MeinOrdner\%%n\SPC\Konstrukt-%%n.xls" "C:\MeinZweiterOrdner\%%n\"
)
miniversum
Hallo 6zeichen!
Im Prinzip müsste es genügen, als "copy"-Befehl "xcopy /d /y" einzusetzen ...
Wenn Du das Ganze etwas verschönern willst (insbesondere, um unnötige Meldungen zu vermeiden), könnte das auf Basis vom miniversum's Lösung so aussehen:
Grüße
bastla
Im Prinzip müsste es genügen, als "copy"-Befehl "xcopy /d /y" einzusetzen ...
Wenn Du das Ganze etwas verschönern willst (insbesondere, um unnötige Meldungen zu vermeiden), könnte das auf Basis vom miniversum's Lösung so aussehen:
@echo off & setlocal
set "Quelle=C:\MeinOrdner"
set "Ziel=C:\MeinZweiterOrdner"
FOR /F "delims=" %%n in ('dir /B /AD "%Quelle%\"') do (
if not exist "%Ziel%\%%n" md "%Ziel%\%%n"
xcopy /d /y "%Quelle%\%%n\SRC\Profil-%%n.doc" "%Ziel%\%%n\" >nul
xcopy /d /y "%Quelle%\%%n\SRC\Konstrukt-%%n.xls" "%Ziel%\%%n\" >nul
)
Grüße
bastla