Datei eine Hierarchieebene nach oben verschieben per Batch
Hallo liebe Admins,
ich habe da ein lästiges Problem, was sich hoffentlich mit eurer Hilfe beseitigen lässt.
Es existiert folgende Ordnerstruktur:
Videos
-Video 1
--Film
->Film.mov
und zwar in mehrfacher Ausführung (so viele, dass es zu lange dauern würde um es per Hand zu machen).
Wie der Titel sagt, soll (bzw sollen) alle Dateien im Unterordner "Film" in den Ordner "Video 1" (etc.) verschoben werden, und der Ordner "Film" bei Erfolg gelöscht werden.
Wie sähe das Script aus?
https://www.administrator.de/index.php?content=82989
Das Beispiel klappt bei mir nicht, bekomme nicht mal ne Fehlermeldung...
Schönes Wochenende noch!
ich habe da ein lästiges Problem, was sich hoffentlich mit eurer Hilfe beseitigen lässt.
Es existiert folgende Ordnerstruktur:
Videos
-Video 1
--Film
->Film.mov
und zwar in mehrfacher Ausführung (so viele, dass es zu lange dauern würde um es per Hand zu machen).
Wie der Titel sagt, soll (bzw sollen) alle Dateien im Unterordner "Film" in den Ordner "Video 1" (etc.) verschoben werden, und der Ordner "Film" bei Erfolg gelöscht werden.
Wie sähe das Script aus?
https://www.administrator.de/index.php?content=82989
Das Beispiel klappt bei mir nicht, bekomme nicht mal ne Fehlermeldung...
Schönes Wochenende noch!
17 Antworten
- LÖSUNG AndreasBrecht schreibt am 31.01.2010 um 07:27:34 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 10:33:51 Uhr
- LÖSUNG AndreasBrecht schreibt am 31.01.2010 um 11:33:11 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 12:08:28 Uhr
- LÖSUNG AndreasBrecht schreibt am 31.01.2010 um 12:58:42 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 13:03:39 Uhr
- LÖSUNG AndreasBrecht schreibt am 31.01.2010 um 13:23:11 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 13:03:39 Uhr
- LÖSUNG AndreasBrecht schreibt am 31.01.2010 um 12:58:42 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 12:08:28 Uhr
- LÖSUNG AndreasBrecht schreibt am 31.01.2010 um 11:33:11 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 10:33:51 Uhr
- LÖSUNG miniversum schreibt am 31.01.2010 um 10:27:09 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 10:36:10 Uhr
- LÖSUNG miniversum schreibt am 31.01.2010 um 10:59:41 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 12:13:55 Uhr
- LÖSUNG miniversum schreibt am 31.01.2010 um 12:28:41 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 12:36:31 Uhr
- LÖSUNG miniversum schreibt am 31.01.2010 um 12:54:12 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 13:01:56 Uhr
- LÖSUNG bastla schreibt am 31.01.2010 um 13:51:28 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 14:00:14 Uhr
- LÖSUNG bastla schreibt am 31.01.2010 um 13:51:28 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 13:01:56 Uhr
- LÖSUNG miniversum schreibt am 31.01.2010 um 12:54:12 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 12:36:31 Uhr
- LÖSUNG miniversum schreibt am 31.01.2010 um 12:28:41 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 12:13:55 Uhr
- LÖSUNG miniversum schreibt am 31.01.2010 um 10:59:41 Uhr
- LÖSUNG a3rosol schreibt am 31.01.2010 um 10:36:10 Uhr
LÖSUNG 31.01.2010 um 07:27 Uhr
Dim fs, fld
Set fs = CreateObject ("scripting.FileSystemObject")
For Each fld in In fs.Getfolder("Videos") .SubFolders 'da sollte der komplette Pfad übergeben werden
fs.MoveFile fld.Path &"\Film.mov", "videos\Film.mov" 'siehe oben ;-)
fs.DeleteFolder fld.Path
Next fld
LÖSUNG 31.01.2010 um 10:27 Uhr
LÖSUNG 31.01.2010 um 10:33 Uhr
LÖSUNG 31.01.2010 um 10:36 Uhr
LÖSUNG 31.01.2010 um 10:59 Uhr
Durch das @echo sollte auch erstmal nicht wirklich etwas verschoben werden sondern nur eine Anzeige.
Versuchs mal damit:
Auch hier kommt erstmal nur eine Anzeige was passieren wird.
Wenn diese ausgabe passt kdan kannst du das echo entfernen
Versuchs mal damit:
@for /d %i in ("e:\todo\_ok\*.*") do @for /d %j in ("%i") do @echo move "%~j\%~nxj.*" %j
Wenn diese ausgabe passt kdan kannst du das echo entfernen
LÖSUNG 31.01.2010 um 11:33 Uhr
LÖSUNG 31.01.2010 um 12:08 Uhr
LÖSUNG 31.01.2010 um 12:13 Uhr
http://picfront.de/d/7lti
da scheint was nicht richtig zu laufen...
vielleicht habe ich mich ja nicht richtig oder falsch ausgedrückt, deswegen versuche ich es nochmal
da scheint was nicht richtig zu laufen...
vielleicht habe ich mich ja nicht richtig oder falsch ausgedrückt, deswegen versuche ich es nochmal
durchsuche Verzeichnis rekursiv nach Ordnername "Film";
nimm sämtliche Dateien aus dem Ordner und Verschiebe sie in den übergeordneten Ordner;
wenn alles Ok ist, lösche den Order "Film";
Und alles nochmal beim Nächsten ;)
LÖSUNG 31.01.2010 um 12:28 Uhr
Ok. Ich ging davon aus das der Film in dm Ordner immer so geist wie der Ordner selbst.
Das löschen fehlte noch. Aber sonsnt scheint e doch zu passen?
Wenn es alle Dateien sein sollen dann so:
Auch hier wird nur angezeigt was passieren wird. Wenn das gut aussieht dann das echo entfernen.
Oder ist der name FILM immer fest?
Dann könnte es (ungetestet) so funktionieren:
Das löschen fehlte noch. Aber sonsnt scheint e doch zu passen?
Wenn es alle Dateien sein sollen dann so:
@for /d %i in ("e:\todo\_ok\*.*") do @for /d %j in ("%i") do (@echo move "%~j\*.*" %j && @echo rd /Q %j)
Oder ist der name FILM immer fest?
Dann könnte es (ungetestet) so funktionieren:
@for /d %i in ("e:\todo\_ok\*.*") do (@echo move "%~i\FILM\*.*" %i && @echo rd /Q "%~i"%~i\FILM")
LÖSUNG 31.01.2010 um 12:36 Uhr
es ändert sich immer nur der Überordner (Asterix I, Bad Boys etc) und die Dateinamen samt Dateityp im Ordner Film
Edit: auf den 2ten Vorschlag: es kommt immer die Rückmeldung "Mehr?"
Edit2: die Verzeichnisstruktur: http://picfront.de/d/7ltM
Edit: auf den 2ten Vorschlag: es kommt immer die Rückmeldung "Mehr?"
Edit2: die Verzeichnisstruktur: http://picfront.de/d/7ltM
LÖSUNG 31.01.2010 um 12:54 Uhr
LÖSUNG 31.01.2010 um 12:58 Uhr
LÖSUNG 31.01.2010 um 13:01 Uhr
LÖSUNG 31.01.2010 um 13:03 Uhr
LÖSUNG 31.01.2010 um 13:23 Uhr
LÖSUNG 31.01.2010 um 13:51 Uhr