Batch zum Ordner Erstellen und Dateien kopieren

Lobo666

Lieutenant
Registriert
Nov. 2008
Beiträge
552
Hallo zusammen,
da ich mich mit so etwas leider gar nicht auskenne hoffe ich, jemand von euch kann mir helfen.

Folgende Situation:
Ich habe sehr viele Filme auf meinen HDDs im HTPC. Im gleichen Ordner wie die Filme liegen außerdem die Fanarts, Cover und Infos.

Die Benennung ist wie Folgt:
Film = Filmname.m2ts/img/avi/mkv
Cover = Filmname.jpg
Fanart = Filmname-fanart.jpg
Info = Filmname.nfo

Jetzt soll jeder Film inkl. dazugehöriger Dateien in einen eigenen Ordner "Filmname" verschoben werden. Da das bei knapp 400 Filmen mit sicherheit sehr viel Arbeit ist, dachte ich dass dies mit einer Batch bestimmt wesentlich einfacher geht. nur wie?

Danke für eure Antworten!
 
Also wenn Du eine Batch schreiben willst also eine .bat datei alte Dos Zeiten dann müßtes Du jeden Namen extra dort eintippern. Und das dauert zu lange dann kann man sie auch gleich Manuell kopieren von Hand.

Was wesentlich einfach wäre wenn Du sie Alphabetisch kopieren und sortieren würdest.

Hier ein Beispiel.

Als Erstes mal einen Grundordner erstellen Filme.
( MD = Make Dir )

md Filme

Dann in den Ordner rein

( CD = Chance Dir )

cd Filme

Dann wieder ein Ordner erstellen zbs A

md a

dann in den ordner rein.

cd a

so wenn die Filme auf eine anderen Festplatte sind einfach won da aus direkt in das verzeichniss der anderen Festplatte wechseln zbs d:\Filme

Dann gibst Du als den Kopierbefehl ein.


Copy a*.* E:
oder
Copy a*.* E:\Filme\A

So nun müßte er Dir alle Filme ( Dateien ) die mit A anfangen kopiert haben.

Das ganze machst Du dann mit jedem Buchstaben.


Ich persöhnlich hätte schon von anfangan da mit angefangen sie zu sortieren und nicht alles in einen Ordner zu ballern wie Du.

Kann sein sein das es auch noch andere Lösungen gibt die ich nicht kenne.

Turbo Pascal ( Programiersprache ) wäre mit sicherheit ne Lösung da für, alte Dos Zeiten eben.
 
Wenn ich dich richtig verstehe, dann würde ich danach einen Ordner für jeden Buchstaben im Alphabet haben? Das möchte ich nicht, jeder Film muss zwingend einen eigenen Ordner haben.

Ich persönlich finde es zwar ohne Unterordner besser, aber ich bin aufgrund eines Programms dazu gezwungen diese Ordnerstruktur genau so an zu legen.
 
amdcpu3200 schrieb:
Also wenn Du eine Batch schreiben willst also eine .bat datei alte Dos Zeiten dann müßtes Du jeden Namen extra dort eintippern.
Quark, dafür wurden Schleifen erfunden. Nix mit manuell abtippen.
amdcpu3200 schrieb:
Turbo Pascal ( Programiersprache ) wäre mit sicherheit ne Lösung da für, alte Dos Zeiten eben.
Würde es im Prinzip auch nicht besser können, höchstens einfacher.

@ TE: Haben Film, Cover, Infos und Fanart den gleichen Dateinamen? Wenn ja, dann geht es wunderbar über
Code:
@echo off

set TEST_MODE=1

setlocal ENABLEDELAYEDEXPANSION

set movie_folder=V:\Movies

for /f "delims=;" %%x in ('dir %movie_folder%\*.avi /S /B') do (
  rem set variables
  
  set currentdrive=%%~dx
  set currentpath=%%~px
  set currentname=%%~nx
  
  set tplpath=!currentdrive!!currentpath!
  set tplfilenamewoext=!currentname!
  set targetpath=!tplpath!!currentname!
  
  rem set old paths
  
  set oldmovie=!tplfilenamewoext!.avi
  if not exist "!tplpath!!oldmovie!" set oldmovie=!tplfilenamewoext!.m2ts
  if not exist "!tplpath!!oldmovie!" set oldmovie=!tplfilenamewoext!.img
  if not exist "!tplpath!!oldmovie!" set oldmovie=!tplfilenamewoext!.mkv
  
  set oldmovie=!tplpath!!oldmovie!
  set oldcover=!tplpath!!tplfilenamewoext!.jpg
  set oldfanart=!tplpath!!tplfilenamewoext!-fanart.jpg
  set oldinfo=!tplpath!!tplfilenamewoext!.nfo
  
  rem set new paths
  
  set movie=!tplfilenamewoext!.avi
  if not exist "!tplpath!!movie!" set movie=!tplfilenamewoext!.m2ts
  if not exist "!tplpath!!movie!" set movie=!tplfilenamewoext!.img
  if not exist "!tplpath!!movie!" set movie=!tplfilenamewoext!.mkv
  rem hier evtl. weitere Dateiendungen einfügen
  
  set cover=!tplfilenamewoext!.jpg
  set fanart=!tplfilenamewoext!-fanart.jpg
  set info=!tplfilenamewoext!.nfo
  
  set newpath=!targetpath!\
  set newmovie=!newpath!!movie!
  set newcover=!newpath!!cover!
  set newfanart=!newpath!!fanart!
  set newinfo=!newpath!!info!
  
  rem create folder
  
  if not exist "!newpath!" (
    if "[%TEST_MODE%]" == "[1]" (
      echo create folder
      echo   "!newpath!"
    ) else (
      mkdir "!newpath!"
    )
  ) else (
    if "[%TEST_MODE%]" == "[1]" (
      echo folder exists "!newpath!"
    )
  )
  
  rem move files
  
  if "[%TEST_MODE%]" == "[1]" (
    echo move
    echo   "!oldmovie!" to
    echo   "!newmovie!"
    echo move
    echo   "!oldcover!" to
    echo   "!newcover!"
    echo move
    echo   "!oldfanart!" to
    echo   "!newfanart!"
    echo move
    echo   "!oldinfo!" to
    echo   "!newinfo!"
    echo.
  ) else (
    move "!oldmovie!" "!newmovie!"
    move "!oldcover!" "!newcover!"
    move "!oldfanart!" "!newfanart!"
    move "!oldinfo!" "!newinfo!"
  )
)
Sieh dir aber erstmal die Ausgaben an. Wenn alles an Pfaden korrekt ist, setzt du die Variable TEST_MODE=0 und er verschiebt die Dateien anstatt etwas anzuzeigen.

Eine Testausgabe bei mir wäre
Code:
create folder
  "V:\Movies\Ali G In Da House\"
move
  "V:\Movies\Ali G In Da House.avi" to
  "V:\Movies\Ali G In Da House\Ali G In Da House.avi"
move
  "V:\Movies\Ali G In Da House.jpg" to
  "V:\Movies\Ali G In Da House\Ali G In Da House.jpg"
move
  "V:\Movies\Ali G In Da House-fanart.jpg" to
  "V:\Movies\Ali G In Da House\Ali G In Da House-fanart.jpg"
move
  "V:\Movies\Ali G In Da House.nfo" to
  "V:\Movies\Ali G In Da House\Ali G In Da House.nfo"

create folder
  "V:\Movies\Asterix & Obelix - Mission Kleopatra\"
move
  "V:\Movies\Asterix & Obelix - Mission Kleopatra.avi" to
  "V:\Movies\Asterix & Obelix - Mission Kleopatra\Asterix & Obelix - Mission Kleopatra.avi"
move
  "V:\Movies\Asterix & Obelix - Mission Kleopatra.jpg" to
  "V:\Movies\Asterix & Obelix - Mission Kleopatra\Asterix & Obelix - Mission Kleopatra.jpg"
move
  "V:\Movies\Asterix & Obelix - Mission Kleopatra-fanart.jpg" to
  "V:\Movies\Asterix & Obelix - Mission Kleopatra\Asterix & Obelix - Mission Kleopatra-fanart.jpg"
move
  "V:\Movies\Asterix & Obelix - Mission Kleopatra.nfo" to
  "V:\Movies\Asterix & Obelix - Mission Kleopatra\Asterix & Obelix - Mission Kleopatra.nfo"

create folder
  "V:\Movies\Das Dschungelbuch\"
move
  "V:\Movies\Das Dschungelbuch.avi" to
  "V:\Movies\Das Dschungelbuch\Das Dschungelbuch.avi"
move
  "V:\Movies\Das Dschungelbuch.jpg" to
  "V:\Movies\Das Dschungelbuch\Das Dschungelbuch.jpg"
move
  "V:\Movies\Das Dschungelbuch-fanart.jpg" to
  "V:\Movies\Das Dschungelbuch\Das Dschungelbuch-fanart.jpg"
move
  "V:\Movies\Das Dschungelbuch.nfo" to
  "V:\Movies\Das Dschungelbuch\Das Dschungelbuch.nfo"

create folder
  "V:\Movies\Der König der Löwen 2\"
move
  "V:\Movies\Der König der Löwen 2.avi" to
  "V:\Movies\Der König der Löwen 2\Der König der Löwen 2.avi"
move
  "V:\Movies\Der König der Löwen 2.jpg" to
  "V:\Movies\Der König der Löwen 2\Der König der Löwen 2.jpg"
move
  "V:\Movies\Der König der Löwen 2-fanart.jpg" to
  "V:\Movies\Der König der Löwen 2\Der König der Löwen 2-fanart.jpg"
move
  "V:\Movies\Der König der Löwen 2.nfo" to
  "V:\Movies\Der König der Löwen 2\Der König der Löwen 2.nfo"

create folder
  "V:\Movies\Der König der Löwen 3\"
move
  "V:\Movies\Der König der Löwen 3.avi" to
  "V:\Movies\Der König der Löwen 3\Der König der Löwen 3.avi"
move
  "V:\Movies\Der König der Löwen 3.jpg" to
  "V:\Movies\Der König der Löwen 3\Der König der Löwen 3.jpg"
move
  "V:\Movies\Der König der Löwen 3-fanart.jpg" to
  "V:\Movies\Der König der Löwen 3\Der König der Löwen 3-fanart.jpg"
move
  "V:\Movies\Der König der Löwen 3.nfo" to
  "V:\Movies\Der König der Löwen 3\Der König der Löwen 3.nfo"

create folder
  "V:\Movies\Der König der Löwen\"
move
  "V:\Movies\Der König der Löwen.avi" to
  "V:\Movies\Der König der Löwen\Der König der Löwen.avi"
move
  "V:\Movies\Der König der Löwen.jpg" to
  "V:\Movies\Der König der Löwen\Der König der Löwen.jpg"
move
  "V:\Movies\Der König der Löwen-fanart.jpg" to
  "V:\Movies\Der König der Löwen\Der König der Löwen-fanart.jpg"
move
  "V:\Movies\Der König der Löwen.nfo" to
  "V:\Movies\Der König der Löwen\Der König der Löwen.nfo"

create folder
  "V:\Movies\Eis am Stiel 2 - Feste Freundin\"
move
  "V:\Movies\Eis am Stiel 2 - Feste Freundin.avi" to
  "V:\Movies\Eis am Stiel 2 - Feste Freundin\Eis am Stiel 2 - Feste Freundin.avi"
move
  "V:\Movies\Eis am Stiel 2 - Feste Freundin.jpg" to
  "V:\Movies\Eis am Stiel 2 - Feste Freundin\Eis am Stiel 2 - Feste Freundin.jpg"
move
  "V:\Movies\Eis am Stiel 2 - Feste Freundin-fanart.jpg" to
  "V:\Movies\Eis am Stiel 2 - Feste Freundin\Eis am Stiel 2 - Feste Freundin-fanart.jpg"
move
  "V:\Movies\Eis am Stiel 2 - Feste Freundin.nfo" to
  "V:\Movies\Eis am Stiel 2 - Feste Freundin\Eis am Stiel 2 - Feste Freundin.nfo"

create folder
  "V:\Movies\Eis am Stiel 3 - Liebeleien\"
move
  "V:\Movies\Eis am Stiel 3 - Liebeleien.avi" to
  "V:\Movies\Eis am Stiel 3 - Liebeleien\Eis am Stiel 3 - Liebeleien.avi"
move
  "V:\Movies\Eis am Stiel 3 - Liebeleien.jpg" to
  "V:\Movies\Eis am Stiel 3 - Liebeleien\Eis am Stiel 3 - Liebeleien.jpg"
move
  "V:\Movies\Eis am Stiel 3 - Liebeleien-fanart.jpg" to
  "V:\Movies\Eis am Stiel 3 - Liebeleien\Eis am Stiel 3 - Liebeleien-fanart.jpg"
move
  "V:\Movies\Eis am Stiel 3 - Liebeleien.nfo" to
  "V:\Movies\Eis am Stiel 3 - Liebeleien\Eis am Stiel 3 - Liebeleien.nfo"

create folder
  "V:\Movies\Eis am Stiel 4 - Hasenjagd\"
move
  "V:\Movies\Eis am Stiel 4 - Hasenjagd.avi" to
  "V:\Movies\Eis am Stiel 4 - Hasenjagd\Eis am Stiel 4 - Hasenjagd.avi"
move
  "V:\Movies\Eis am Stiel 4 - Hasenjagd.jpg" to
  "V:\Movies\Eis am Stiel 4 - Hasenjagd\Eis am Stiel 4 - Hasenjagd.jpg"
move
  "V:\Movies\Eis am Stiel 4 - Hasenjagd-fanart.jpg" to
  "V:\Movies\Eis am Stiel 4 - Hasenjagd\Eis am Stiel 4 - Hasenjagd-fanart.jpg"
move
  "V:\Movies\Eis am Stiel 4 - Hasenjagd.nfo" to
  "V:\Movies\Eis am Stiel 4 - Hasenjagd\Eis am Stiel 4 - Hasenjagd.nfo"

create folder
  "V:\Movies\Eis am Stiel 5 - Die große Liebe\"
move
  "V:\Movies\Eis am Stiel 5 - Die große Liebe.avi" to
  "V:\Movies\Eis am Stiel 5 - Die große Liebe\Eis am Stiel 5 - Die große Liebe.avi"
move
  "V:\Movies\Eis am Stiel 5 - Die große Liebe.jpg" to
  "V:\Movies\Eis am Stiel 5 - Die große Liebe\Eis am Stiel 5 - Die große Liebe.jpg"
move
  "V:\Movies\Eis am Stiel 5 - Die große Liebe-fanart.jpg" to
  "V:\Movies\Eis am Stiel 5 - Die große Liebe\Eis am Stiel 5 - Die große Liebe-fanart.jpg"
move
  "V:\Movies\Eis am Stiel 5 - Die große Liebe.nfo" to
  "V:\Movies\Eis am Stiel 5 - Die große Liebe\Eis am Stiel 5 - Die große Liebe.nfo"

create folder
  "V:\Movies\Eis am Stiel 6 - Ferienliebe\"
move
  "V:\Movies\Eis am Stiel 6 - Ferienliebe.avi" to
  "V:\Movies\Eis am Stiel 6 - Ferienliebe\Eis am Stiel 6 - Ferienliebe.avi"
move
  "V:\Movies\Eis am Stiel 6 - Ferienliebe.jpg" to
  "V:\Movies\Eis am Stiel 6 - Ferienliebe\Eis am Stiel 6 - Ferienliebe.jpg"
move
  "V:\Movies\Eis am Stiel 6 - Ferienliebe-fanart.jpg" to
  "V:\Movies\Eis am Stiel 6 - Ferienliebe\Eis am Stiel 6 - Ferienliebe-fanart.jpg"
move
  "V:\Movies\Eis am Stiel 6 - Ferienliebe.nfo" to
  "V:\Movies\Eis am Stiel 6 - Ferienliebe\Eis am Stiel 6 - Ferienliebe.nfo"

create folder
  "V:\Movies\Eis am Stiel 7 - Verliebte Jungs\"
move
  "V:\Movies\Eis am Stiel 7 - Verliebte Jungs.avi" to
  "V:\Movies\Eis am Stiel 7 - Verliebte Jungs\Eis am Stiel 7 - Verliebte Jungs.avi"
move
  "V:\Movies\Eis am Stiel 7 - Verliebte Jungs.jpg" to
  "V:\Movies\Eis am Stiel 7 - Verliebte Jungs\Eis am Stiel 7 - Verliebte Jungs.jpg"
move
  "V:\Movies\Eis am Stiel 7 - Verliebte Jungs-fanart.jpg" to
  "V:\Movies\Eis am Stiel 7 - Verliebte Jungs\Eis am Stiel 7 - Verliebte Jungs-fanart.jpg"
move
  "V:\Movies\Eis am Stiel 7 - Verliebte Jungs.nfo" to
  "V:\Movies\Eis am Stiel 7 - Verliebte Jungs\Eis am Stiel 7 - Verliebte Jungs.nfo"

create folder
  "V:\Movies\Eis am Stiel 8 - Summertime Blues\"
move
  "V:\Movies\Eis am Stiel 8 - Summertime Blues.avi" to
  "V:\Movies\Eis am Stiel 8 - Summertime Blues\Eis am Stiel 8 - Summertime Blues.avi"
move
  "V:\Movies\Eis am Stiel 8 - Summertime Blues.jpg" to
  "V:\Movies\Eis am Stiel 8 - Summertime Blues\Eis am Stiel 8 - Summertime Blues.jpg"
move
  "V:\Movies\Eis am Stiel 8 - Summertime Blues-fanart.jpg" to
  "V:\Movies\Eis am Stiel 8 - Summertime Blues\Eis am Stiel 8 - Summertime Blues-fanart.jpg"
move
  "V:\Movies\Eis am Stiel 8 - Summertime Blues.nfo" to
  "V:\Movies\Eis am Stiel 8 - Summertime Blues\Eis am Stiel 8 - Summertime Blues.nfo"

create folder
  "V:\Movies\Eis am Stiel\"
move
  "V:\Movies\Eis am Stiel.avi" to
  "V:\Movies\Eis am Stiel\Eis am Stiel.avi"
move
  "V:\Movies\Eis am Stiel.jpg" to
  "V:\Movies\Eis am Stiel\Eis am Stiel.jpg"
move
  "V:\Movies\Eis am Stiel-fanart.jpg" to
  "V:\Movies\Eis am Stiel\Eis am Stiel-fanart.jpg"
move
  "V:\Movies\Eis am Stiel.nfo" to
  "V:\Movies\Eis am Stiel\Eis am Stiel.nfo"
 
Yuuri schrieb:
@ TE: Haben Film, Cover, Infos und Fanart den gleichen Dateinamen?

Nicht ganz. Wie in meinem ersten Post erwähnt haben die Fanarts "-fanart" an den Dateinamen angehangen. Aber wenn ich das richtig sehe, dann hast du das ja bereits berücksichtigt.

Vielen Dank schon mal für die viele Mühe!
 
Zurück
Oben