MUT: Dateien nach Inhalt umbenennen

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
Majo71
Junior Member
Junior Member
Posts: 10
Joined: 2012-05-29, 07:47 UTC

MUT: Dateien nach Inhalt umbenennen

Post by *Majo71 »

Hallo,

ich möchte gern in einem Verzeichnis die Dateien sinnvoll umbennen, oft stimmen leider auch die Dateiendungen nicht oder fehlen komplett. So möchte ich beispielsweise alle Dateien, bei dennen der Inhalt mit "FLV" beginnt, mit der Endung .flv versehen, dann bin ich schon ein gutes Stück weiter. Geht das irgendwie mit dem TC oder einem Plugin zu machen?

Grüße, Majo71
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Hallo Majo71,
TrID
MUT - Plugin - trid - Match 0 - Extension.

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Dalai
Power Member
Power Member
Posts: 9974
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Aber natürlich gibt's da was. Einerseits gibt's MediaInfo (nicht bei totalcmd.net, aber man kann es hier im Forum finden), das zumindest für Multimedia-Dateien taugt. Nicht zu verwechseln ist das Plugin mit den ähnlich benannten MediaInfoWDX und TCMediaInfo. Konkret meine ich die Eigenschaft "General Format" des Plugins.

Andererseits gibt's TrID, das eine (sehr aufwendige, dafür aber ausführliche) Inhaltsanalyse von Dateien macht und die wahrscheinlichsten Ergebnisse davon ausgibt. Hinweis: das Plugin benötigt das gleichnamige Kommandozeilen-Tool TrID, das es zwar mitbringt, aber erstens ist das Programm selbst schon älter und zweitens sind die ebenfalls benötigten Signaturen schon viele Jahre alt. Beides sollte daher von der Seite des TrID-Autors aktualisiert werden. Ebenfalls wichtig: TrID gibt's nur für den 32 Bit TC.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Es gibt hier einen Thread, mit dem über VBS und das Script-Plugin der Dateiinhalt nach einem Kriterium durchsucht wird und dann die Datei umbenannt wird:

http://www.ghisler.ch/board/viewtopic.php?t=11518


Peter
TC 10.xx / #266191
Win 10 x64
Majo71
Junior Member
Junior Member
Posts: 10
Joined: 2012-05-29, 07:47 UTC

Post by *Majo71 »

Danke für alle Antworten. Ich habe nun einiges probiert, das TrID hat bisher den besten Eindruck gemacht. Letztlich ist es aber viel zu langsam und liefert nicht immer korrekte Ergebnisse. Ich habe es bei der Suche auch nicht geschafft, die vom Plugin gelieferte Extension mit der Extension der Datei vergleichen zu lassen und eine Liste mit den Abweichungen zu erstellen.

Das MediaInfo scheint einiges zurückzugeben, aber leider nicht den Dateityp.

Mit dem Script-Plugin habe ich jetzt noch nicht getestet, das mache ich noch.

Ich habe mit das viel einfacher vorgestellt, einfach die Zeichen 1 bis 3 jeder Datei mit einer vorgegebenen Zeichenfolge vergleichen zu lassen.

Grüße, Majo71
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Es sind ja nicht nur """die Zeichen 1 bis 3"""...

Das Thema "Dateityp erkennen" ist schon etwas komplexer.



 
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Stefan2 wrote:Es sind ja nicht nur """die Zeichen 1 bis 3"""...
Das Thema "Dateityp erkennen" ist schon etwas komplexer.
 
@Majo71
dahin liefen auch die Antworten. Wenn du wirklich nur die ersten drei Zeichen suchst, dann geht das mit Caret ^ im Feld für Text:

"^FLV" - Details siehe Hilfe

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
Dalai
Power Member
Power Member
Posts: 9974
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Majo71 wrote:Letztlich ist es aber viel zu langsam und liefert nicht immer korrekte Ergebnisse.
Nun, wenn man mehrere hundert Dateien zu verarbeiten hat, dann ist das sicher zu langsam, jedenfalls sofern man nicht mehrere Kerne hat und das Programm auf einem davon rumrechnen lassen kann. Bzgl. der Unsicherheit der Erkennung: Ich hätte es so gemacht, dass nicht direkt umbenannt wird sondern man erstmal eine benutzerdef. Spaltenansicht erstellt und dort die ersten beiden Matches von TrID darstellen lässt und diese mindestens stichprobenartig Das hat den weiteren Vorteil, nach einer Spalte sortieren zu können, Dateien mit der gleichen Extension zu markieren und dann in einem Rutsch mit dem MUT dieselbe Extension zu verpassen (ohne weiteren Eingriff von TrID).
Ich habe es bei der Suche auch nicht geschafft, die vom Plugin gelieferte Extension mit der Extension der Datei vergleichen zu lassen und eine Liste mit den Abweichungen zu erstellen.
Naja, wie soll das auch funktionieren? Dafür müsste die Suche erlauben, Pluginfelder als Pluginfelder zu nutzen.
Das MediaInfo scheint einiges zurückzugeben, aber leider nicht den Dateityp.
Doch, genau das tut es, aber eben nur für Multimedia-Dateien.
Ich habe mit das viel einfacher vorgestellt, einfach die Zeichen 1 bis 3 jeder Datei mit einer vorgegebenen Zeichenfolge vergleichen zu lassen.
Öhm, nö. Schau mal mit dem Lister in diverse Dateien rein und du wirst feststellen, dass viele - aber eben nicht alle - davon zwar irgendeine Form von Marker haben (an dem sich übrigens auch TrID orientiert), aber der ist erstens nicht immer eindeutig und zweitens reichen dafür die ersten 3 Zeichen nicht immer aus. Insofern ist die Sache schon etwas komplexer, wie Stefan2 bereits bemerkte.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Majo71
Junior Member
Junior Member
Posts: 10
Joined: 2012-05-29, 07:47 UTC

Post by *Majo71 »

Danke noch mal für die Antworten! Sicher ist eine exakte Dateierkennung viel komplizierter. Für meine geschätzten 8 Dateitypen hätte ich mir mit so einer einfachen Suche beholfen, das hätte völlig gereicht. Das mit dem FLV am Dateianfang war auch nur ein Beispiel. Die Variante ^FLV hatte ich schon mal getestet. Das macht aber eigentlich etwas anderes. Die komplette Datei wird in Zeilen zerlegt und jeder Zeilenanfang wird geprüft. Das dauert auch etwas und ein zufälliges FLV mitten in einer Datei wird ebenfalls manchmal erkannt. Ich hatte auf eine einfache Lösung gehofft, mache das jetzt doch händisch.

Danke nochmal, Majo71
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1050
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Um wirklich nur einen bestimmten Offset einer Datei auszugeben eignet sich decHex.

Hat leider kein ReadMe. Aus dem russichen Thread und dem Quellcode konnte ich folgende Optionen entnehmen:
test1= StartOffset, Länge, Format
StartOffset kann negativ sein und beginnt bei 0. "$" für Hex-Werte.
Format kann leer (dh Hex), Dec und Ansi sein.

"test1= 0, 4, ansi" gibt die ersten 4 Buchstaben aus.
"test1= -4, 4, hex" gibt die letzten 4 Hex-Werte aus.
"test1= -$F, 6, dec" gibt die ersten 6 der letzten 15 Dezimal-Werte aus.

Scheint nen bisserl buggy zu sein, ich würd nur eine Zeile in die Ini schreiben.
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Um meinen Senf auch noch dazuzugeben:

Wenn du ein schnelles Auge hast kannst du den Dateiinhalt auch direkt ausgeben lassen,
und somit die "Magische Zahl", bzw. die Signatur die am Anfang der Datei steht, anzeigen lassen.
Mit PCREsearch eine Benutzerdef. Spalte erstellen, z.B. so:

Code: Select all

regex1=[a-zA-Z0-9]{2,}
regex1name=Signatur-Filter
regex1type=3
Jetzt z.B. nach der Dateiendung sortieren lassen, und wenn irgendetwas in der eigenen Spalte/Textstring nicht zur Endung passt kann man das dann leicht erkennen.
Bei den meisten Video-/Multimediadateien geht das recht gut.

Code: Select all

.flv hat "FLV"
.mkv hat "....matroska"
.mp4 hat meistens "ftypmp42"
.avi hat "RIFF AVI"
usw.
Du könntest diesen String nun wiederum von TC durchsuchen lassen,
z.B. bei .flv mit den Suchoptionen

Code: Select all

PCREsearch->Signatur-Filter !RegEx ^FLV
Das Ganze als Suche speichern und schon kann man mittels TC-Bordmitteln (Selektierung mit Numpad) alle vermeintlichen FLVs aussortieren die eben keine richtige Signatur haben.
TC plugins: PCREsearch and RegXtract
Majo71
Junior Member
Junior Member
Posts: 10
Joined: 2012-05-29, 07:47 UTC

Post by *Majo71 »

Prima, das decHexWDX funktioniert sehr gut! Es ist nun alles vorsortiert und das ganz schnell. Das mit der INI-Datei ist wirklich nicht optimal gelöst, zumal man nach dem Ändern den TC beenden und neustarten muss, damit die Änderung wirkt.

Danke, Majo71
User avatar
Dalai
Power Member
Power Member
Posts: 9974
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Majo71 wrote:Das mit der INI-Datei ist wirklich nicht optimal gelöst, zumal man nach dem Ändern den TC beenden und neustarten muss, damit die Änderung wirkt.
Es müsste reichen, die benutzerdef. Spaltenansicht zu deaktivieren (umschalten auf Kurz oder Lang) und alle Plugins zu entladen mit cm_UnloadPlugins.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Post Reply