Dateien in Unterordner anhand Dateinamen mit Trennzeichen verschieben
Grüß Euch!
Ich glaub ich habe gerade eine Knopf im Kopf und stehe vor folgenden Problem:
Ordner mit hunderten Dateien mit Folgenden Aufbau: "Typ-Gruppe-Gruppe2-Inhalt.pdf (Teilweise auch mehr oder Weniger Gruppen)
Also Zb: "Audi-A4-Motor-Batterie.pdf"
Diese Datien sollen immer in den jeweiligen Ordner und Unterordner verschoben welcher in dem Beispiel wie Folgt aussieht:
"\Audi\A4\Motor\Batterie\"
Habe folgendes Script wälches eigentlich ganz gut funtkioniert, jedoch das letzte also den Ordner "Batterie" ignoriert...
Hoffe ihr habt einen Tipp für mich!
Danke und LG!
Ich glaub ich habe gerade eine Knopf im Kopf und stehe vor folgenden Problem:
Ordner mit hunderten Dateien mit Folgenden Aufbau: "Typ-Gruppe-Gruppe2-Inhalt.pdf (Teilweise auch mehr oder Weniger Gruppen)
Also Zb: "Audi-A4-Motor-Batterie.pdf"
Diese Datien sollen immer in den jeweiligen Ordner und Unterordner verschoben welcher in dem Beispiel wie Folgt aussieht:
"\Audi\A4\Motor\Batterie\"
Habe folgendes Script wälches eigentlich ganz gut funtkioniert, jedoch das letzte also den Ordner "Batterie" ignoriert...
@echo off
set Quelle=C:\Datein\
for /f "delims=" %%i in ('dir /b /a-d "%Quelle%*-*.*" 2^>nul') do call :copy "%%i"
:copy
For /f "delims=- tokens=1,2,3,4,5" %%i in (%1) do (
Set "ordner1=%%i"
Set "ordner2=%%j"
Set "ordner3=%%k"
Set "ordner4=%%l"
Set "ordner5=%%m"
)
echo. %ordner1% |find /i "."
IF %errorlevel%==0 goto :jump
echo. %ordner2% |find /i "."
IF %errorlevel%==0 goto :nr1
echo. %ordner3% |find /i "."
IF %errorlevel%==0 goto :nr2
echo. %ordner4% |find /i "."
IF %errorlevel%==0 goto :nr3
echo. %ordner5% |find /i "."
IF %errorlevel%==0 goto :nr4
:nr1
Set pfad=%ordner1%\
IF NOT exist "%pfad%" md "%pfad%"
MOVE /-Y "%~1" "%pfad%"
goto :jump
:nr2
Set pfad=%ordner1%\%ordner2%\
IF NOT exist "%pfad%" md "%pfad%"
MOVE /-Y "%~1" "%pfad%"
goto :jump
:nr3
Set pfad=%ordner1%\%ordner2%\%ordner3%\
IF NOT exist "%pfad%" md "%pfad%"
MOVE /-Y "%~1" "%pfad%"
goto :jump
:nr4
Set pfad=%ordner1%\%ordner2%\%ordner3%\%ordner4%\
IF NOT exist "%pfad%" md "%pfad%"
MOVE /-Y "%~1" "%pfad%"
goto :jump
:jump
Hoffe ihr habt einen Tipp für mich!
Danke und LG!
Please also mark the comments that contributed to the solution of the article
Content-Key: 240984
Url: https://administrator.de/contentid/240984
Printed on: April 19, 2024 at 10:04 o'clock
2 Comments
Latest comment
Hallo woswasih!
Ich würde das etwa so versuchen:
Grüße
bastla
Ich würde das etwa so versuchen:
@echo off & setlocal
set "Quelle=C:\Datein"
for /f "delims=" %%i in ('dir /b /a-d "%Quelle%\*-*.*" 2^>nul') do set "Name=%%~ni" & call :ProcessFile "%%i"
goto :eof
:ProcessFile
set "Pfad=%Quelle%\%Name:-=\%"
md "%Pfad%" 2>nul
move %1 "%Pfad%\"
goto :eof
bastla