cmd Befehle für Umbenennung und Löschen gesucht

lordg2009

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.559
Hi,

folgendes Problem. Ich habe mit Formatfactory meine gesamte Mediathek konvertiert. Um die Ordnerstruktur beizubehalten, habe ich als Zielordner den Quellordner gewählt. Nun gibt es jeden Titel 2mal. Einmal original und einmal konvertiert. Der konvertierte Dateiname beginnt mit FormatFactory und danach kommt der Originaldateiname.

Ich habe nie groß mit der cmd gearbeitet, und da ich vermeiden möchte, dass nach dem rumexperimentieren die falschen Dateien gelöscht werden, möchte ich euch um eure Hilfe bitten.

Letztendlich brauche ich 2 Schritte.
1) Alle Dateien im Musikordner die nicht mit FormatFactory beginnen, werden gelöscht.
2) Bei allen übrigen Dateien wird das FormatFactory im Dateinamen entfernt.

Für einen alten Windows Hasen dauert das doch bestimmt nur 1 Minute.

Für eure Hilfe wäre ich euch unendlich dankbar
 
Sind das viele Dateien? Ich würde vorher ein Backup machen zur Sicherheit.

Ansonsten nehm doch die Suche? Eingeben:

NICHT FormatFactory

Dann sortierst du nach dem Typ, so dass du die Ordner nicht mit weglöschst.
Danach würde ich mir ein Renametool aus dem Netz laden welches das FormatFactory aus dem Namen nimmt.
 
Da wäre ich für CMD-Nutzung viel zu faul.
Ohne Denken: Suchtool wie AgentRansack, 1x suchen, 1x Entf. Dann Tool AntRenamer und umbenennen.

Mit CMD-Syntax auf «Nicht» zu filtern ist schon umständlich, und Dateinamensbeginne abzusägen ist auch nicht ohne.
(Mit Blick auf das PS unten käme ich in Versuchung das durch VBA zu jagen. Aber nur weil ich da schon öfter solche Maßnahmen mit abgewickelt habe.)


PS: Ich würde ums Verrecken erst ein Kopie anlegen: allein weil ich die Originale niemals verlieren wollte! (Und da dann alle FormFactories wieder rauswerfen.)

CN8



@suxxess: so viel zum Thema Zufälle :heilig:
 
cumulonimbus8 schrieb:
@suxxess: so viel zum Thema Zufälle :heilig:
Soviel zu, zwei Dumme ein Gedanke ;) Naja Erfahrung macht halt klug, und es ist doch gut wenn der Threadstarter von unseren Erfahrungen profitiert.
 
Cmd-> in den Ordner gehen -> del Formatfactory*.*

Dann sind alle mit dem Formatfactory am Anfang schonmal weg.
 
Backup gibts schon, natürlich ;)

Die Idee ist gut, jetzt ist aber noch ein weiteres Problem aufgetaucht, welches ein weniger komplexer ist. FormatFactory hat einige Fehler asugeworfen und die entsprechenden Dateien nicht konvertiert.

Das liegt irgendwie an den Codecs m4a und flac machen bei den Error 0x00000001, aber ich bekomme es nicht behoben. Ich hab schon mal ein alternatives Codec Pack installiert, hat aber nichts gebracht, und ich habs wieder runtergeworfen.

Diese Dateien sollten dann aber nicht gelöscht werden, also nur jene, für die es keine 'FormatFactory[gleichnamige Datei]' gibt.

Habt ihr da noch ne Idee
 
Da empfehle ich mal Freecommander XE

01 FreeCommander XE.png<>02 FreeCommander XE.png<>umbennen.png

Bin jetzt was essen, schaue in 1/2 stunde wieder vorbei.

Da arbeite ich lieber mit Video to Video bei meiner Dreambox 800

@ Entilzha Schau dir mal Freecommander XE an, da kannst du dir deine ganze Mühe ersparen.
 
Zuletzt bearbeitet:
Hi,
ich habe eine kleine Batch für dich geschrieben, die sollte das machen, was du vorhast.
Da wir leider nicht wissen, wie die Dateien zusammengesetzt sind, habe ich als Annahme
folgenden Dateinamen gewählt FormatFactory_Deine Dateiname.blub
Wenn es anders aussieht muss du die Zeile 24 ändern.
In Zeile 4 muss du das richtige Datei Typ angeben.
Code:
@echo off & setlocal enabledelayedexpansion
cls

set "Typ=txt"
set "Verzeichnis=%~dp0"
set "NeuVerzeichnis=%~dp0FormatFactory"

REM pushd %Verzeichnis% || goto :eof
echo %Verzeichnis%

:: Hier wird verschobene ins ../FormatFactory
for /f "delims=" %%i in ('dir /b /a-d "FormatFactory*.%Typ%"') do (
    if not exist %NeuVerzeichnis% md %NeuVerzeichnis%
    move "%%i" "%NeuVerzeichnis%\%%i"
)
pause
echo.
pushd %NeuVerzeichnis% || goto :eof

:: Hier wird FormatFactory_ abgeschnitten, so dass nur der Dateiname verbleibt
for /f "delims=" %%i in ('dir /b /a-d *.%Typ%') do (
    set DateiName=%%i
    echo Org. DateiName: !DateiName!
    set NeueDateiName=!DateiName:FormatFactory_=!
    echo Neue DateiName: !NeueDateiName!
    echo ren "%%i" "!NeueDateiName!"
    echo.--------------------
)
popd
pause
Du muss das echo vor ren löschen in der Zeile 26, wenn die Umbenennung so ausgegeben wird wie du sie haben magst.
Löschen kannst du selber per Hand, wenn zum Schluss alles so ist wie es soll.
 
Wenn es um solche Automatisierungsabläufe geht kann ich die Scriptsprache AutoIT empfehlen. Sehr leicht zu verstehen und für kleine Dinge absolut ausreichend.

Du erstellst dann eine Liste aller Dateien in einem Array, löschst das Formatfactory aus jedem Eintrag und kannst so die konvertierte Liste von der originalen subtrahieren. Diese Dateien die übrig bleiben willst du nicht löschen. Auch das umbenennen geht dort recht simpel.
 
Hey, vielen Dank. Hat super funktioniert. Jetzt bin ich glücklich :)
 
Welches hat denn funktioniert? Danke

Du darfst dir aber gerne das Freecommander XE ansehen.
 
Zuletzt bearbeitet:
Habe die alten Dateien erst mit der Suche rausgelöscht und dann mit dem Script umbenannt
 
Viellicht bin ich im Moment nicht ganz wach…
Das Skript von Entilzha funktioniert bei den Minbari und in einem einzelnen UV, aber nicht in einer Struktur (in einem Rutsch)?!??


@Haldi
Wo soll AutoIt hier nennenswert angreifen können? Ich sehe da nichts was nicht einfacher mit VBS ginge (VBA ist mir allenfalls bequemer); AutoIt muss bei mir andere Dinge stemmen.

CN8
 
Zurück
Oben