Wie finde ich Ordner ohne *.mp3 - Dateien?

Hab ich auch schon gedacht. Jedoch müßte ich den Filter richtig konfigurieren. Bisher konnte ich ihn noch nicht dazu bringen, auch die Unterordner zu berücksichtigen.
 
Probiere
 

Anhänge

  • 2023-01-27 13 43 32.png
    2023-01-27 13 43 32.png
    23 KB · Aufrufe: 100
  • 2023-01-27 13 44 03.png
    2023-01-27 13 44 03.png
    31,5 KB · Aufrufe: 102
  • 2023-01-27 13 44 34.png
    2023-01-27 13 44 34.png
    25,4 KB · Aufrufe: 106
F4 geht nicht bei Ordnern.
Ansonsten habe ich mit strg+F Deine Vorgaben umgesetzt. Grundsätzlich ging das. Jedoch kam als Ergebnis eine lange Liste von Ordnern, die sehr wohl mp3-Dateien enthalten.
 
Keine Ahnung was F4 bei dir macht,
Die Einträge in Date / Suchen zeigen hier Wirkung und keine MP3s. Ich habe 11,6 GB MP3-Dateien.
 
F4 öffnet standardmäßig den Datei-Editor. Deshalb funktioniert F4 nicht bei Ordnern.
Oder meintest Du Strg+F?
 
Ich habe es inzwischen mit Linux-Terminal im entspr. Verzeichnis durchgeführt:
Code:
find . -depth -type d \! -exec sh -c 'find "$1" \( -iname "*.mp3" -o -iname "*.flac"\) -type f | read a' _ {} \; -print

Dennoch würde mich interessieren, wie es mit Free Commander geht.
 
Moin,

für eine solche Aufgabe ist der FreeCommander alleine wohl eher ungeeignet.

Ich löse sowas mit Powershell. Ausführlich geschrieben sähe der Befehl dort wie folgt aus:
Code:
(Get-ChildItem -Path "<Pfad>" -Recurse -Directory|Where-Object {!(Get-ChildItem -Path "$($_.Fullname)\*.mp3" -Recurse)}).Fullname

Dieser kann durch die Nutzung von Aliasen und Parameterauslassung allerdings auch deutlich verkürzt werden:
Code:
(ls "<Path>" -r -Dir|?{!(ls -r -File "$($_.Fullname)\*.mp3")}).Fullname

Allerdings kann der FreeCommander Powershell hier durchaus unterstützen, indem er zum Beispiel den Ordnerpfad an Powershell übergibt.

Beispiel:

Unter "Extras > Programmfavoriten > Programmfavoriten definieren" zuerst eine Werkzeugleiste anlegen und anschließend

Screenshot.png


Wie im Fenster zu erkennen, bei Programm einfach Powershell eingeben. Beim Feld "Startordner" kannst du hinten über die Schaltfläche mit den 3 Punkten einen Ordner wählen, hier zum Beispiel immer das in FreeCommander Aktive Fenster.

Bei Paramter dann -NoExit -Command (ls -r -dir|?{!(ls -r """$($_.FullName)\*.mp3""")}).Fullname. Nach Wunsch kannst du dem Tool noch ein Icon & eine Tastemkombination verpassen.

Fortan kannst du dann im FreeCommander zu einem Ordner navigieren und den Programmfavoriten starten - das Powershell Fenster ploppt auf und listet dir sämtliche Unterordner auf, die keine MP3-Dateien enthalten.

Gruß Thomas
 
Zuletzt bearbeitet:
Danke! Super, das werde ich nachher gleich ausprobieren.
Kleine Zusatzfrage:
Ich habe auch etliche *.flac - Dateien in der Bibliothek. Wie wird *.flac hinter *.mp3 eingefügt? Mit Semikolon dazwischen?
 
Ich habe den Programm-Favoriten genauso definiert und alles eingetragen. Jedoch gab es eine eigenartige Ausgabe, wenn ich auf das Icon von Powershell (das ich ebenfalls eingerichtet habe) klickte.
Ich hatte statt %ActivDir% den Code mit "e" eingetragen: %ActiveDir%.
Also mein Fehler.

Alle Codes klappen vorzüglich, Thomas!
 
Zuletzt bearbeitet:
Ich habe auch etliche *.flac - Dateien in der Bibliothek. Wie wird *.flac hinter *.mp3 eingefügt? Mit Semikolon dazwischen?
Das ginge zwar auch, allerdings braucht man ja nicht den kompletten Befehl zu wiederholen. Man kann mit dem Parameter -include auch gleich nach mehreren Formaten suchen
Ich habe den Programm-Favoriten genauso definiert und alles eingetragen. Jedoch gibt es eine eigenartige Ausgabe, wenn ich auf das Icon von Powershell (das ich ebenfalls eingerichtet habe) klicke:
Entweder hast du den Start-Ordner "%ActivDir%" nicht eingetragen - oder dieser hat bei dir nicht funktioniert. Klappte bei mir im Test problemlos (allerdings nutze ich die Donor).

Im Zweifelsfall kann man den Ordner aber auch direkt (wie oben in der reinen Powershell form) direkt in den Parameterbereich schreiben, dann sollte es in jedem Fall funktionieren:
Code:
-NoExit -Command (ls """%ActivDir%""" -r -dir|?{!(ls -r """$($_.FullName)\*""" -include *.mp3,*.flac)}).Fullname

Gruß Thomas
 
Danke, Thomas. Ich habe ja kurz vor Deinem Post geschrieben, dass ich den Start-Ordner falsch geschrieben hatte (Active).

Ich habe jetzt die Erweiterung für *.flac hinzugefügt. Alles funktioniert!
Danke!

Und noch eine kleine Zusatzfrage: Ich habe ein Icon hinzugefügt für Powershell. Das wird jedoch viel kleiner dargestellt als die übrigen Icons.
Wie kann ich das ändern?
 

Anhänge

  • Powershell-icon.jpg
    Powershell-icon.jpg
    5,9 KB · Aufrufe: 69
Danke, Thomas. Ich habe ja kurz vor Deinem Post geschrieben, dass ich den Start-Ordner falsch geschrieben hatte (Active).
Das hatte sich wohl zeitlich mit meinem Post überschnitten. Um derartige probleme in Zukunft zu vermeiden wie oben beschrieben, den Ordnerpfad über die Schaltfläche mit den 3 Punkten einfügen lassen.

Screenshot.jpg


Gruß Thomas
 
Ja, genau. Dadurch bin ich auch auf den Fehler gekommen. Ich fand dort %LeftDir%, probierte es erfolgreich aus und sah dann das falsche "e".
 
Und noch eine kleine Zusatzfrage: Ich habe ein Icon hinzugefügt für Powershell. Das wird jedoch viel kleiner dargestellt als die übrigen Icons.
Wie kann ich das ändern?
Wie genau hast du das denn hinzugefügt und in welchem Dateiformat?

Wenn du bei der Symbolauswahl einfach die "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" lädst, kannst du das Icon auch nehmen und damit funktionier es.

Eigene Icons speichert man am besten als ".ico"-Datei in ausreichender größe ab. Icons von Programmen kann man aus der jeweiligen exe laden und für die Standard Symbole von Windows gibt es die üblichen Windows-Icon-Dll's.

Gruß Thomas
 
Oben