Mit Batch Dateien in den richtigen Ordner verschieben
Guten Tag,
Da mein wissen von Batch sehr begrenzt ist und ich einfach nicht mehr weiterweiß , bitte ich mal hier im Forum um Hilfe.
Ich habe mir schon eine Batchdatei "gebastelt" die für mich Rar-Archive entpackt und diese nach getaner Arbeit löscht:
@echo off
set /p pw=Password:
CLS
for /F %%I in ('dir /B *.rar') do C:\WinRar\UnRAR.exe e -p%pw% %%I
CLS
echo pause
del *.rar
Nun drengt sich mir aber die Frage auf ob man auch diese entpackten Dateien in den richtigen Ordner verschieben kann.
Zum Beispiel heißt die entpackte Datei: [453456]Tarzan.mkv . Und jetzt soll in einem bestimmten Ordner nach übereinstimmungen mit dem Dateinamen ( [53456]Tarzan.mkv ) und einem schon bestehenden Ordner ( zum Beispiel heißt der Ordner Tarzan ) gesucht werden und dann natürlich auch in diesen Ordner verschoben werden.
Danke im vorraus..
Mfg Froschen
Da mein wissen von Batch sehr begrenzt ist und ich einfach nicht mehr weiterweiß , bitte ich mal hier im Forum um Hilfe.
Ich habe mir schon eine Batchdatei "gebastelt" die für mich Rar-Archive entpackt und diese nach getaner Arbeit löscht:
@echo off
set /p pw=Password:
CLS
for /F %%I in ('dir /B *.rar') do C:\WinRar\UnRAR.exe e -p%pw% %%I
CLS
echo pause
del *.rar
Nun drengt sich mir aber die Frage auf ob man auch diese entpackten Dateien in den richtigen Ordner verschieben kann.
Zum Beispiel heißt die entpackte Datei: [453456]Tarzan.mkv . Und jetzt soll in einem bestimmten Ordner nach übereinstimmungen mit dem Dateinamen ( [53456]Tarzan.mkv ) und einem schon bestehenden Ordner ( zum Beispiel heißt der Ordner Tarzan ) gesucht werden und dann natürlich auch in diesen Ordner verschoben werden.
Danke im vorraus..
Mfg Froschen
Please also mark the comments that contributed to the solution of the article
Content-Key: 166752
Url: https://administrator.de/contentid/166752
Printed on: April 20, 2024 at 02:04 o'clock
12 Comments
Latest comment
Hallo,
versuch mal dieses Script:
Zeile 2-4 anpassen
Es versucht Teile der Dateinamen in den Ordnernamen zu finden und gibt einen Vorschlag aus.
Vielleicht musst du die Zerteilung des Dateinamens anpassen (bei delims=,Zeile 7 und 32).
Das Script ist auf Dateinamen mit bis zu 8 Teile inkl. Endung ausgelegt.
Mfg,
Mathe172
versuch mal dieses Script:
@echo off & setlocal enabledelayedexpansion
set "Ausgang=%~dp0"
set "Ziel=%~dp0"
set "Maske=*.*"
pushd "%Ziel%"
for /f "delims=" %%A in ('dir /b /a:-d %Ausgang%\%Maske%') do (
for /f "tokens=1-8 delims=._()-" %%B in ("%%A") do (
set "B=%%B"
IF "%%B"=="" set "B=xypqxyp"
set "C=%%C"
IF "%%C"=="" set "C=xypqxyp"
set "D=%%D"
IF "%%D"=="" set "D=xypqxyp"
set "E=%%E"
IF "%%E"=="" set "E=xypqxyp"
set "F=%%F"
IF "%%F"=="" set "F=xypqxyp"
set "G=%%G"
IF "%%G"=="" set "G=xypqxyp"
set "H=%%H"
IF "%%H"=="" set "H=xypqxyp"
set "I=%%I"
IF "%%I"=="" set "I=xypqxyp"
for /f "delims=" %%a in ('dir /b /a:d "*!B!*" "*!C!*" "*!D!*" "*!E!*" "*!F!*" "*!G!*" "*!H!*" "*!I!*"') do (
if /i not "%%a"=="Datei nicht gefunden" if /i not "%%a"=="Das System kann den angegebenen Pfad nicht finden." echo Kopiere "%%~nxA" nach "%%a"
)
)
)
set /p "OK=Bestaetigen? (j=ja;n=nein) "
if /i not "%OK%"=="j" goto :eof
for /f "delims=" %%A in ('dir /b /a:-d %Ausgang%\%Maske%') do (
for /f "tokens=1-8 delims=._()-" %%B in ("%%A") do (
set "B=%%B"
IF "%%B"=="" set "B=xypqxyp"
set "C=%%C"
IF "%%C"=="" set "C=xypqxyp"
set "D=%%D"
IF "%%D"=="" set "D=xypqxyp"
set "E=%%E"
IF "%%E"=="" set "E=xypqxyp"
set "F=%%F"
IF "%%F"=="" set "F=xypqxyp"
set "G=%%G"
IF "%%G"=="" set "G=xypqxyp"
set "H=%%H"
IF "%%H"=="" set "H=xypqxyp"
set "I=%%I"
IF "%%I"=="" set "I=xypqxyp"
for /f "delims=" %%a in ('dir /b /a:d "*!B!*" "*!C!*" "*!D!*" "*!E!*" "*!F!*" "*!G!*" "*!H!*" "*!I!*"') do (
if /i not "%%a"=="Datei nicht gefunden" if /i not "%%a"=="Das System kann den angegebenen Pfad nicht finden." xcopy "%Ausgang%\%%~nxA" "%Ziel%\%%a"
)
)
)
popd
echo.Fertig
pause>nul
Es versucht Teile der Dateinamen in den Ordnernamen zu finden und gibt einen Vorschlag aus.
Vielleicht musst du die Zerteilung des Dateinamens anpassen (bei delims=,Zeile 7 und 32).
Das Script ist auf Dateinamen mit bis zu 8 Teile inkl. Endung ausgelegt.
Mfg,
Mathe172
Hallo,
Also:
Bei Ausgang gibst du nach dem = den Pfad zu dem Ordner an, in dem die Dateien liegen (die man kopieren muss)
Bei Ziel gibst du den Ordner an in dem alle Film-Ordner liegen (in deinem Beispiel der Überordner von Tarzan)
Bei Maske gibst du die zu suchenden Dateien an - *.* für alle, *.txt zum Beispiel für TextDateien
Und das mit den Delims:
Deiner Beschreibung habe ich entnommen, dass zum Beispiel Nummern in eckigen Klammern an den Dateinamen hängen. Also habe ich bei Delims mal ein Paar Trennzeichen reingetan.
Er würde also bei der Datei [54354436]Tarzan.mkv diesen Namen in 54354436, Tarzan und mkv zerlegen (Trennzeichen [,] und .) und dann nach Ordnern suchen, die einen von diesen Teilen enthalten.
Versuch es mal so zu lassen, und schau wie gut es funktioniert. (Sonst schreib gib mal eine Liste mit Beispielnamen an, die das gleiche Schema wie die echten haben.)
Mfg,
Mathe172
Also:
Bei Ausgang gibst du nach dem = den Pfad zu dem Ordner an, in dem die Dateien liegen (die man kopieren muss)
Bei Ziel gibst du den Ordner an in dem alle Film-Ordner liegen (in deinem Beispiel der Überordner von Tarzan)
Bei Maske gibst du die zu suchenden Dateien an - *.* für alle, *.txt zum Beispiel für TextDateien
Und das mit den Delims:
Deiner Beschreibung habe ich entnommen, dass zum Beispiel Nummern in eckigen Klammern an den Dateinamen hängen. Also habe ich bei Delims mal ein Paar Trennzeichen reingetan.
Er würde also bei der Datei [54354436]Tarzan.mkv diesen Namen in 54354436, Tarzan und mkv zerlegen (Trennzeichen [,] und .) und dann nach Ordnern suchen, die einen von diesen Teilen enthalten.
Versuch es mal so zu lassen, und schau wie gut es funktioniert. (Sonst schreib gib mal eine Liste mit Beispielnamen an, die das gleiche Schema wie die echten haben.)
Mfg,
Mathe172
Hallo,
versuch mal folgendes:
Füge Ausgang%\ vor dem %%A in der Zeile ein, und aus %%A wieder %%~nxA (also "%Ausgang%\%%~nxA")
Das Problem ist, dass in %%A nur der Dateiname ohne Pfad steht und die Datei im Zielordner nicht gefunden werden kann.
Mathe172
P.S.:Falls bei den Kopiervorschlägen eine Zeile mit "Datei nicht gefunden" ist, dann konnte die Datei nicht zugeordnet werden
P.P.S.:Am besten ist, du kopierst nochmal den obigen Code (sollte ausgebessert und ein wenig angepasst sein)
versuch mal folgendes:
Füge Ausgang%\ vor dem %%A in der Zeile ein, und aus %%A wieder %%~nxA (also "%Ausgang%\%%~nxA")
Das Problem ist, dass in %%A nur der Dateiname ohne Pfad steht und die Datei im Zielordner nicht gefunden werden kann.
Mathe172
P.S.:Falls bei den Kopiervorschlägen eine Zeile mit "Datei nicht gefunden" ist, dann konnte die Datei nicht zugeordnet werden
P.P.S.:Am besten ist, du kopierst nochmal den obigen Code (sollte ausgebessert und ein wenig angepasst sein)