Unterordner mit batch kopieren inkl. Ordner höherer Ebenen, diese allerdings ohne den Inhalt
Hallo,
habe ein "Batch" Problem, mit welchem ich nicht weiter komme....
Was ich gerne möchte:
Folgende Ordnerstrukturen habe ich:
Diese 6 Ordner (jeweils datenblatt) möchte ich nach E:/archive kopieren mit dem gesamten Inhalt von den 6 Ordnern.
Jetzt kommt der Punkt, an welchem ich hänge:
Ich möchte alle Überordner von den 6 Ordnern "datenblatt" mit kopieren, allerdings ohne Inhalt, so dass man in E:/archive sieht, von wo der Ordner herkam.
Z.B.
Gibt es da eine Möglichkeit?
Danke
Folgende Ordnerstrukturen habe ich:
D:/dateien/<<verschiedene ordnernamen>>/datenblatt
D:/dateien/<<verschiedene ordnernamen>>/datenblatt
D:/dateien/<<verschiedene ordnernamen>>/datenblatt
D:/dateien/<<verschiedene ordnernamen>>/datenblatt
D:/dateien/<<verschiedene ordnernamen>>/datenblatt
D:/dateien/<<verschiedene ordnernamen>>/datenblatt
.
.
.
Jetzt kommt der Punkt, an welchem ich hänge:
Ich möchte alle Überordner von den 6 Ordnern "datenblatt" mit kopieren, allerdings ohne Inhalt, so dass man in E:/archive sieht, von wo der Ordner herkam.
Z.B.
E:/archive/<<verschiedene ordnernamen>>/datenblatt
E:/archive/<<verschiedene ordnernamen>>/datenblatt
E:/archive/<<verschiedene ordnernamen>>/datenblatt
E:/archive/<<verschiedene ordnernamen>>/datenblatt
E:/archive/<<verschiedene ordnernamen>>/datenblatt
E:/archive/<<verschiedene ordnernamen>>/datenblatt
Danke
Please also mark the comments that contributed to the solution of the article
Content-Key: 193649
Url: https://administrator.de/contentid/193649
Printed on: April 19, 2024 at 18:04 o'clock
3 Comments
Latest comment
Hallo touro411!
Sollte in etwa so gehen:
Einschränkung: Es werden nur "datenblatt"-Ordner kopiert, die Dateien enthalten ...
Grüße
bastla
Sollte in etwa so gehen:
@echo off & setlocal
set "Quelle=D:\dateien"
set "Ordner=datenblatt"
set "Ziel=E:\archive"
for /f "delims=" %%i in ('dir /s/b/ad "%Quelle%\%Ordner%"') do set "Pfad=%%~fi" & call :ProcessDir "%%i"
goto :eof
:ProcessDir
call set "RelPfad=%%Pfad:%Quelle%\=%%"
xcopy %1 "%Ziel%\%RelPfad%">nul
goto :eof
Grüße
bastla
Hallo touro411!
Soferne es nicht noch mehr Ordner namens "Datenblatt" unterhalb von "D:\Dateien" gibt, sehe ich das Problem nicht ...
Welches Ergebnis hat denn Dein Test mit meinem Ansatz von oben erbracht? Wenn Du zum Testen übrigens die Zeile 11 durch
ersetzt, wird nicht tatsächlich kopiert, sondern es werden nur die Kopierbefehle angezeigt. Falls Du nicht aus einer CMD-Shell testest (was Du solltest), kannst Du noch zwischen Zeile 6 und 7 eine Zeile mit
einfügen - dann kannst Du die Ausgabe in Ruhe ansehen ...
Grüße
bastla
Soferne es nicht noch mehr Ordner namens "Datenblatt" unterhalb von "D:\Dateien" gibt, sehe ich das Problem nicht ...
Welches Ergebnis hat denn Dein Test mit meinem Ansatz von oben erbracht? Wenn Du zum Testen übrigens die Zeile 11 durch
echo xcopy %1 "%Ziel%\%RelPfad%"
pause
Grüße
bastla