Filme automatisch einen Ordner höher verschieben wie? Batch move/delete

B-Hard

Ensign
Registriert
Dez. 2011
Beiträge
202
Hallo Leute,

Ich suche nach einem Tool oder Skript, geht sicher auch mit Batch nur ka wie..., was folgendes macht.

Ich habe einen Ordner in dem Meine Filme gespeichert sind E:\Filme\Filmxyz\filmxyz.mkv
Diese Struktur plfege ich derzeit händisch.

Ich möchte jedoch das im Hintergrund live immer folgendes geprüft wird:

Wenn Film in C:\Downloads\Filmxyz\Film_Xsdrf\Filmxyz.mkv DANN verschiebe Filmxyz.mkv nach E:\Filme\ in den Ordner welcher gleich heißt wie Filmxyz.

Danach lösche Ordner C:\Downloads\Filmxyz.

Ich hoffe ihr versteht was ich meine!

Die Filme liegen immer eine Ordnerebene tiefer als der Originale Filmxyz Ordner sprich , habe ich einen Film Namens Tim&Struppi.mkv liegt dieser nicht in "Tim&Struppi" sondern unter "Tim&Struppi\T&Sblabla\Tim&Struppi.mkv"
 
Schau Dir mal die robocopy /mov funktion an, das wird in einem Batchscript per Aufgabenplanung sicher machbar sein:

/MOV :: Verschiebt Dateien (löscht Dateien nach dem Kopieren an der Quelle).
/MOVE :: Verschiebt Dateien UND Verzeichnisse (löscht sie nach dem Kopieren an der Quelle).
 
0ri0n schrieb:
Schau Dir mal die robocopy /mov funktion an, das wird in einem Batchscript per Aufgabenplanung sicher machbar sein:
Schon klar nur wie schalte ich das ganze als Dienst im Hintergrund?

Optional wäre wenn der Auslöser das fertige entpacken von JDownloader ist. Also der abgeschlossene entpacken Vorgang das Skript startet...
 
ryan_blackdrago schrieb:
quick & dirty:
Code:
@echo off
For /F "delims=" %%i in ('dir /s /b C:\Downloads\*.mkv') do ( 
mkdir E:\Filme\%%~ni
move %%i E:\Filme\%%~ni
rmdir %%~dpi
)

Leider funktioniert das gar nicht, kann ich irgendwie eine Log Datei erstellen, sodass ich sehe was genau schief läuft?
 
Hmtja…
ROBOCOPY ist recht beredt und kann mit einem Schalter in einen Testlauf versetzt werden.
Das Skript legt aber erst die Ordner an die es anhand der Dateien (DIR /B) ermittelt, reines RoboCopy kann das nicht.

Ich wäre der Primitivling der Manuell die Zielordner anlegte und auch Typ für Typ eine Kopierziele schreibe (wenn mir auch FOR IN sehr in den Fingenr juckt).

CN8
 
Die Batch hatte Probleme mit Sonderzeichen. Einfach wie folgt Anführungszeichen setzen:

Code:
@echo off
For /F "delims=" %%i in ('dir /s /b C:\Downloads\*.mkv') do ( 
mkdir "E:\Filme\%%~ni"
move "%%i" "E:\Filme\%%~ni"
rmdir "%%~dpi"
)
Die Batch durchsucht den Ordner C:\Downloads nach mkv-Dateien (egal in wievielen Unterordnern diese liegen);
dann wird unter E:\Filme ein Ordner anhand des Namens der .mkv-Datei erstellt. Danach die Filme entsprechend in den jeweiligen Ordner verschoben. Zuletzt die ganzen Ordner unter C:\Downloads gelöscht

Gerade erfolgreich getestet.

Um zu sehen, ob alles funktioniert. Einfach das @echo off entfernen & am Schluß pause hinzufügen.
 
Zuletzt bearbeitet:
Zurück
Oben