Wie kann man nach LEEREN Content-Feldern suchen?

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
User avatar
donner
Member
Member
Posts: 161
Joined: 2004-11-24, 10:30 UTC
Location: Germany

Wie kann man nach LEEREN Content-Feldern suchen?

Post by *donner »

Guten Abend,

habe ein Problem/eine Frage:

Gibt es eine Möglichkeit, beim Benutzen von "Suchen in Plugins" in "Dateien suchen" nach leeren Feldern zu suchen?
Hätte erwartet, dass das über den Operator "enthält" oder "=" funktioniert, wenn man "Wert" leer lässt - klappt aber nicht.

Konkret möchte ich beispielsweise über das Shelldetails- oder Anytag-Plugin nach MP3-Dateien suchen, deren Album-Tag nicht gefüllt ist.

Hat jemand eine Lösung?

Vielen Dank für Eure Hilfe
User avatar
StickyNomad
Power Member
Power Member
Posts: 1933
Joined: 2004-01-10, 00:15 UTC
Location: Germany

Post by *StickyNomad »

Hm, wenn ich in MP3s mittels ShellDetails nach 'Interpret' suche und als Operator '=' eingebe und das 'Wert'-Feld leer lasse, werdem alle MP3s gefunden, bei denen dieses Feld leer ist. War die 'Suchen in Plugins'-Checkbox im Suchen-Dialog auch definitiv aktiviert?
User avatar
donner
Member
Member
Posts: 161
Joined: 2004-11-24, 10:30 UTC
Location: Germany

Post by *donner »

Stimmt, mit dem Shelldetails-Plugin gehts! Habe übersehen, dass beim Wechsel der Eigenschaft (z.B. von Albumtitel zu Interpret) der Operator auf "enthält" zurückgesetzt wird (wieso eigentlich?)

Jedoch bleibt fürs Anytag-Plugin das Problem bestehen:
Es liefert auch mit "=" keine Ergebnisse.

Also fokusiere ich meine Frage auf das Anytag-Plugin:
Gibt es eine Möglichkeit, das Anytag-Plugin zu nutzen, um nach leeren Feldern zu suchen?
(Grund: Im Anytag gibt es (auch selbstdefinierte) Felder auf die man übers Shelldetails-Plugin nicht zugreifen kann.)

(Vielleicht gehört diese Frage ins Mp3Tag-Forum, aber ich glaube sehr an das geballte Wissen der TC-User ;) )
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Ich habe das gerade mal untersucht. ShellDetails gibt kein leeres Feld zurück, sondern einen leeren String. Anytag liefert wohl ein leeres Feld zurück.
User avatar
donner
Member
Member
Posts: 161
Joined: 2004-11-24, 10:30 UTC
Location: Germany

Post by *donner »

Lefteous wrote:... Anytag liefert wohl ein leeres Feld zurück.
Oje, sowas habe ich befürchtet.

Das hieße ja, wenn ein Plugin sich korrekt verhält und ""ft_fieldempty" zurückliefert, kann TotalCommander nicht danach suchen.

Wäre es nicht sinnvoll, TC würde in einem solchen Fall den Wert als Leerstring interpretieren oder einen Operator "nicht vorhanden" anbieten?

So hätte man die Möglichkeit nach nicht gefüllten/vorhandenen Feldern zu suchen.
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Wäre es nicht sinnvoll, TC würde in einem solchen Fall den Wert als Leerstring interpretieren oder einen Operator "nicht vorhanden" anbieten?
Ich würde zu einem Operator "Feld leer" (bzw "Feld nicht leer") tendieren.

Ich frage mich gerade ob ich in ShellDetails ein leeres Feld zurückgeben soll, wenn ein leerer Strng ermittelt wurde.
User avatar
donner
Member
Member
Posts: 161
Joined: 2004-11-24, 10:30 UTC
Location: Germany

Post by *donner »

Lefteous wrote:Ich würde zu einem Operator "Feld leer" (bzw "Feld nicht leer") tendieren.
Ja, das wäre wohl der sinnvollere Weg. So könnte man zwischen Leerstring und nicht vorhandenem Feld unterscheiden.

Wobei der Begriff "Feld leer" bzw. "ft_fieldempty" etwas missverständlich ist. "ft_fieldempty" sollte eher "ft_fieldnotexists" heißen.

Die API-Beschreibung ist ja wie folgt: The file does not contain the specified field

Also geht es nicht um ein LEERES Feld, sondern um ein NICHT EXISTENTES.
Ich frage mich gerade ob ich in ShellDetails ein leeres Feld zurückgeben soll, wenn ein leerer Strng ermittelt wurde.
Aber bitte erst, wenn TC damit umgehen kann! :-D

Das TC-eigene Plugin gibt zur Zeit wohl auch Leerstrings zurück.
Z.B wenn man nach einem nicht vorhandenen Kommentar sucht.
Hobelbank
Junior Member
Junior Member
Posts: 6
Joined: 2015-11-30, 21:48 UTC

long time ago

Post by *Hobelbank »

I wonder if this feature was implemented meanwhile. I could quite easyly fix my private pictures after a RAID-disaster by deleting and restoring those jpgs, that have no exif-data. so far I cannot search for those, only for the ones with exif-data.

any help is very much apreciated.

:roll:

Hobelbank
Hobelbank
Junior Member
Junior Member
Posts: 6
Joined: 2015-11-30, 21:48 UTC

warum schreib ich auf englisch?

Post by *Hobelbank »

tut leid! die mehrheit der posts zum thema war englisch. deswegen war ich drauf eingeschossen.
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Das müsste doch mit RegEx machbar sein, jedenfalls bei den Stringfeldern:

Code: Select all

<plugin> | <plugin_feld> | !RegEx | ^.+$
oder ggf. auch ohne Angabe von Stringanfang und -ende (Zirkumflex und Dollar weglassen).

Hab grad keine Zeit, das zu testen, aber ich denke mir, dass das gehen müsste.

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
Hobelbank
Junior Member
Junior Member
Posts: 6
Joined: 2015-11-30, 21:48 UTC

Post by *Hobelbank »

Danke, Dalai!

Aber das hilft nicht. Wenn ich das richtig verstanden habe, kommt vom Plugin keine Info wie Feld ist leer oder nicht vorhanden. Dann kann man gegen nichts vergleichen.

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

Post by *Dalai »

Wenn ein Plugin(feld) einen leeren String zurückgibt, müsste das mit obigem Vorgehen funktionieren, weil der RegEx nach einem String mit mindestens einem beliebigen Zeichen sucht. Anders sieht die Sache natürlich aus, wenn das Feld leer ist und kein (leerer) String.

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
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Hobelbank wrote:Wenn ich das richtig verstanden habe, kommt vom Plugin keine Info wie Feld ist leer oder nicht vorhanden.
Jein.
Wie schon oben erklärt fehlt die Info eher seitens von TC, als vom Plug-in.
TC reicht die Info einfach nicht für den Suchen-Dialog weiter.

Einige Plug-ins melden TC "ft_fieldempty", für den Fall dass ein Feld eben kein Ergebnis für eine Datei liefern kann.
Das ist IMO nicht immer logisch richtig, denn normalerweise reicht ein leerer String genauso aus, um ein fehlendes Ergebnis mitzuteilen.
Natürlich nur, wenn wir vom Feldtyp Zeichenkette ("String") reden.
Bei z.B. einem Zahlen-Feldtyp ist es natürlich etwas anderes, da "0" schon eine explizite Aussage trifft.
Leider darf man selbst herausfinden, welches Plug-in die Sache wie handhabt.

An der Stelle wäre es wirklich angebracht, einen weiteren Operator in die Suche einzubauen, um nach leeren Feldern zu suchen (egal welcher Feldtyp).

In Plug-ins, die eine leere Zeichenkette zurückgeben, kann man relativ einfach nach selbiger suchen:

Code: Select all

<Plug-in> | <Feld> | = |
(Feld "Wert" leer lassen)
oder alternativ, wie Dalai schon gesagt hat:

Code: Select all

<Plug-in> | <Feld> | !RegEx | .+
Für Plug-ins mit leerem Feld wäre die einzige halbwegs brauchbare Möglichkeit eine Benutzerdefinierte Spalten-Ansicht.
Filtere einfach deine Dateien vorher möglichst gut (Suchergebnis anwenden, Dateifilter mit Strg+F12 , Zweigansicht mit Strg+B, etc.),
und schalte dann auf die Benutzerdef. Spaltenansicht um.
Jetzt die Ansicht nach dieser Spalte sortieren lassen.
Ergebnis: leere Felder stehen entweder ganz unten, oder ganz oben.

Das sollte ausreichen um deine fehlerhaften Dateien zu markieren und dann zu löschen/verschieben, etc.
TC plugins: PCREsearch and RegXtract
User avatar
tbeu
Power Member
Power Member
Posts: 1336
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu »

See also in TC suggestions: http://ghisler.ch/board/viewtopic.php?t=26048

And see also in other German thread: http://ghisler.ch/board/viewtopic.php?t=40861
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
Hobelbank
Junior Member
Junior Member
Posts: 6
Joined: 2015-11-30, 21:48 UTC

Vielen Dank!

Post by *Hobelbank »

Das ist ein sehr brauchbarer Workaround!
:D
Post Reply