Ordner per Batch verschieben
Hallo,
ich habe folgendes Problem und bräuchte dazu Hilfe:
Ich möchte per Batch mehrere Ordner aus einem Quell-Verzeichnis in ein Zielverzeichnis verschieben. Das besondere dabei ist, dass ich den Anfangsbuchstaben des Quell-Ordners auslesen möchte und dieser dann automatisch ans Zielverzeichnis angehangen wird.
Beispiel (es handelt sich dabei um Ordner):
C:\Quelle
aaa
abb
acc
baa
bbb
bcc
...
C:\Ziel\
a
b
...
Ziel ist, dass die Ordner aus dem Quellverzeichnis, welche mit "a/A" beginnen, in den Zielordner "C:\Ziel\a" verschoben werden. Die Ordner, welche mit "b/B" beginnen, nach C:\Ziel\b verschoben werden usw.
Könnt Ihr mir dabei bitte behilflich sein???
Vielen Dank.
ich habe folgendes Problem und bräuchte dazu Hilfe:
Ich möchte per Batch mehrere Ordner aus einem Quell-Verzeichnis in ein Zielverzeichnis verschieben. Das besondere dabei ist, dass ich den Anfangsbuchstaben des Quell-Ordners auslesen möchte und dieser dann automatisch ans Zielverzeichnis angehangen wird.
Beispiel (es handelt sich dabei um Ordner):
C:\Quelle
aaa
abb
acc
baa
bbb
bcc
...
C:\Ziel\
a
b
...
Ziel ist, dass die Ordner aus dem Quellverzeichnis, welche mit "a/A" beginnen, in den Zielordner "C:\Ziel\a" verschoben werden. Die Ordner, welche mit "b/B" beginnen, nach C:\Ziel\b verschoben werden usw.
Könnt Ihr mir dabei bitte behilflich sein???
Vielen Dank.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 133388
Url: https://administrator.de/forum/ordner-per-batch-verschieben-133388.html
Ausgedruckt am: 23.12.2024 um 17:12 Uhr
3 Kommentare
Neuester Kommentar
Servus,
als Ansatz zum weiterdenken....
und als einzeiler für die DosBox - nicht für ein Script
Als Script - jeweils %% stat einem %
Das könnte man nun auch mit einer weiteren Schleife drumherum schneidern - oder 24 einzelne Zeilen draus machen - je nach Gusto
Gruß
als Ansatz zum weiterdenken....
und als einzeiler für die DosBox - nicht für ein Script
for /f %i in ('dir /B /AD C:\Quelle\a*') do move %i C:\Ziel\a\
for /f %i in ('dir /B /AD C:\Quelle\b*') do move %i C:\Ziel\b\
Als Script - jeweils %% stat einem %
Das könnte man nun auch mit einer weiteren Schleife drumherum schneidern - oder 24 einzelne Zeilen draus machen - je nach Gusto
Gruß
Hallo Netzfetzer und willkommen im Forum!
Etwa so:
Das "
Grüße
bastla
Etwa so:
@echo off & setlocal
set "Quelle=C:\Quelle"
set "Ziel=C:\Ziel"
for /d %%i in ("%Quelle%\*.*") do call :ProcessDir "%%i"
goto :eof
:ProcessDir
set "Ordnername=%~n1"
set "Buchstabe=%Ordnername:~,1%"
set "ZB=%Ziel%\%Buchstabe%"
if not exist "%ZB%" md "%ZB%"
echo move %1 "%ZB%\"
goto :eof
echo
" vor dem "move
'" soll ein gefahrloses Testen ermöglichen (die "Buchstabenordner" werden allerdings bereits beim Testlauf erzeugt, falls nicht bereits vorhanden) - wenn Du es entfernst, werden die Ordner tatsächlich verschoben.Grüße
bastla