sasi2803
Goto Top

Filtern und verschieben von falsch benannten Ordnern und Dateien

Hallo!

Ich habe eine Ordnersturktur mit sehr vielen Ordnern.
Jeder Ordner hat eine 5- bzw. 6-stellige Nummer - nur manche haben sich mit falschen Bezeichnungen "dazugeschummelt", zB "123456 Auto" (also Nummer und Name) oder nur Name etc
Nun sollen alle Ordner samt Unterordnern, die eine falsche Bezeichnung (keine 5- oder 6-stellige Nummer) haben, in einen anderen Ordner (Ordnername "Umbenennen") verschoben werden.

Zusätzlich

In diesen Ordnern sind Dateien, die eine 5- bzw. 6-stellige Nummer ergänzt um ein Kürzel in Form von "_xy##" haben (z.B. 123456_w01.jpg).
Auch hier gibt es Dateien mit falschen Bezeichnungen die ebenfalls in den Ordner "Umbenennen" verschoben werden sollen.

Vielen Dank für eure Rückmeldungen im Voraus!

Content-Key: 202944

Url: https://administrator.de/contentid/202944

Printed on: April 19, 2024 at 22:04 o'clock

Member: bastla
bastla Mar 07, 2013 at 19:04:26 (UTC)
Goto Top
Hallo sasi2803 und willkommen im Forum!

Das könnte etwa so gehen:
@echo off & setlocal
set "Quelle=D:\Basis"  
set "Ziel=D:\Umbenennen"  

::Ordner
for /f "delims=" %%i in ('dir /s/b/ad "%Quelle%"^|sort /r') do echo %%~ni|findstr /xv "[0-9][0-9][0-9][0-9][0-9][0-9]"|findstr /xv "[0-9][0-9][0-9][0-9][0-9]">nul && call :ProcessDir "%%i"  
::Dateien
for /f "delims=" %%i in ('dir /s/b/a-d "%Quelle%"^|sort /r') do echo %%~ni|findstr /xv "[0-9][0-9][0-9][0-9][0-9][0-9]_..[0-9][0-9]"|findstr /xv "[0-9][0-9][0-9][0-9][0-9]_..[0-9][0-9]">nul && call :ProcessFile "%%i"  
goto :eof

:ProcessDir
set "Pfad=%~1"  
call set "RelPfad=%%Pfad:%Quelle%\=%%"  
echo Verschiebe %1
xcopy /e %1 "%Ziel%\%RelPfad%\">nul  
rd /s /q %1
goto :eof

:ProcessFile
set "Pfad=%~dp1"  
call set "RelPfad=%%Pfad:%Quelle%\=%%"  
echo Verschiebe %1
xcopy %1 "%Ziel%\%RelPfad%">nul  
del %1
goto :eof
Der Batch ist "scharf geschaltet" und wird daher Ordner/Dateien löschen (aber hoffentlich vorher noch kopieren face-wink), daher bitte nur auf Testdaten loslassen!

Grüße
bastla
Member: sasi2803
sasi2803 Mar 08, 2013 at 13:23:10 (UTC)
Goto Top
Hallo bastla!

Vielen Dank, ich werds gleich probieren . mit testdaten face-wink