Jede n. Datei markieren
Moderators: Hacker, Stefan2, white
Jede n. Datei markieren
Hallo zusammen,
ich suche nach einer Möglichkeit in Verzeichnissen z.B. jede 10. Datei zu markieren.
Kann man das mit TC realisieren?
Gruß, ago
ich suche nach einer Möglichkeit in Verzeichnissen z.B. jede 10. Datei zu markieren.
Kann man das mit TC realisieren?
Gruß, ago
Also, es handelt sich um eine große Anzahl Zeitraffer-Aufnahmen. So rund 70k Einzel-JPGs um genau zu sein. Aus technischen Gründen muss jedes 10. JPG gelöscht werden. Aufgrund der großen Anzahl möchte ich mir das nicht manuell zumuten, kann aber verstehen, wenn es für diesen speziellen Fall keine Lösung mit TC gibt.
Haben die zu löschenden Bilder Nummern mit gleichbleibendem Intervall? Mal ein Beispiel: Bild00010.jpg, Bild00020.jpg, Bild00030.jpg. Oder sieht es eher so aus: Bild00011.jpg, Bild00015.jpg, Bild00025.jpg?
Falls gleichbleibendes Intervall, kann man das über eine for-Schleife auf der CMD oder mit AutoIt/AutoHotkey lösen.
MfG Dalai
Falls gleichbleibendes Intervall, kann man das über eine for-Schleife auf der CMD oder mit AutoIt/AutoHotkey lösen.
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
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Könnte man über Kommentare lösen.
Als "Irgendwas.cmd" speichern und den dokpfad anpassen:
Jetzt über eine Spaltenansicht mit "Kommentar" sortieren oder
Auswahlfilter mit "Plugins -> Tc Kommentar = 10" erstellen.
Als "Irgendwas.cmd" speichern und den dokpfad anpassen:
Code: Select all
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set dokpfad="c:\temp\test"
set /a counter=0
for %%I in (%dokpfad%\*.*) do (
Set /a counter=!counter!+1
echo !counter!
echo %%~nxI
echo "%%~nxI" !counter!>>%dokpfad%\descript.ion
If !counter! GEQ 10 Set /a counter=0
)
ENDLOCAL
Auswahlfilter mit "Plugins -> Tc Kommentar = 10" erstellen.
Eine Ergänzung zu ZoSTeRs Beitrag: Das funktioniert nur dann zuverlässig, wenn die Dateiliste, die die for-Schleife erstellt, mit der im TC exakt übereinstimmt. Da darf keine Sortierung anders sein (gerade numerische Sortierung kann hier Probleme machen), und Umlaute muss man ebenfalls berücksichtigen.
MfG Dalai
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
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Man kann die Descript.ion Liste auch in der Sortierreihenfolge des TC mit dem MUT erzeugen, bzw. durch vorherige Selektion von "Bild*.jpg" dafür sorgen, dass auch nur die gewünschten jpg-Files durchnummeriert werden:
Umbenn-Maske:Erweiterung freilassen.
Suchen nach: Ersetzen durch:[x] Regex
Dann im MUT mit <F10> "Namen Bearbeiten" und im Editor als "Descript.ion" im Verzeichnis abspeichern.
Editor beenden.
!!! Nicht Umbenennen!!! MUT einfach nur schliessen.
Mit <Alt+F7> dann unter "Plugins" nach "tc.Kommentar.enthält 0>" (oder 1>,2>,3>...) suchen.
Gruß
Holger
Umbenn-Maske:
Code: Select all
[N].[E] #[C000+1:5]#
Code: Select all
Suchen nach:
Code: Select all
(.*) #(.*)#
Code: Select all
"$1" <$2>
Dann im MUT mit <F10> "Namen Bearbeiten" und im Editor als "Descript.ion" im Verzeichnis abspeichern.
Editor beenden.
!!! Nicht Umbenennen!!! MUT einfach nur schliessen.
Mit <Alt+F7> dann unter "Plugins" nach "tc.Kommentar.enthält 0>" (oder 1>,2>,3>...) suchen.
Gruß
Holger
Last edited by HolgerK on 2014-01-29, 18:05 UTC, edited 1 time in total.
Wenn Dalai's Kriterium erfüllt ist (EDIT: muß aber nicht, sh oben bzw. unten)
... wäre ein Auswahlfilter mit regex wohl am einfachsten:
Sag Bescheid wenn Du nicht weißt wo Du das eingeben sollst.
EDIT: ...und wenn Du HolgerK's Vorschlag noch dazunimmst (= laufende Nr im Kommentar mit MUT erzeugen) - dann hast Du eine allgemeine Lösung:
[x] Search in plugins, tc.comment.regex = ...

---
EDIT 2: ich sollte vielleicht noch hinzufügen daß für manche n der reguläre Ausdruck extrem lang werden kann (= müßte praktisch berechnet werden. Generell: je mehr Primfaktoren von n auch solche von 10 (also 2 und 5) sind und je kleiner n, desto besser (= kürzer der reg. Ausdruck).
=> ideal wäre wenn man für den Zähler im MUT die Basis des zu verwendenden Zahlensystems angeben könnte. Die (Such-)RegEx wäre dann trivial, für jedes n.
Im Moment gibt's nur Basis 10 (dezimal) und Basis 26.
(Preisfrage: kürzeste RegEx für "jedes 65.", zusammen mit der zugeh. "Übersetzung" im MUT?)
... wäre ein Auswahlfilter mit regex wohl am einfachsten:
Code: Select all
\d+0\.jpg$ // für 0, 10, 20, 30, ...
0*[1-9]+\d*0\.jpg$ // für 10, 20, 30, ...
0*[1-9]+\d*1\.jpg$ // für 11, 21, 31, ...
\d+[05]\.jpg$ // für 0, 5, 10, 15, 20, 25, 30, 35...
\d+([02468][048]|[13579][26])\.jpg$ // für 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, .... (jedes 4.)
EDIT: ...und wenn Du HolgerK's Vorschlag noch dazunimmst (= laufende Nr im Kommentar mit MUT erzeugen) - dann hast Du eine allgemeine Lösung:
[x] Search in plugins, tc.comment.regex = ...

---
EDIT 2: ich sollte vielleicht noch hinzufügen daß für manche n der reguläre Ausdruck extrem lang werden kann (= müßte praktisch berechnet werden. Generell: je mehr Primfaktoren von n auch solche von 10 (also 2 und 5) sind und je kleiner n, desto besser (= kürzer der reg. Ausdruck).
=> ideal wäre wenn man für den Zähler im MUT die Basis des zu verwendenden Zahlensystems angeben könnte. Die (Such-)RegEx wäre dann trivial, für jedes n.
Im Moment gibt's nur Basis 10 (dezimal) und Basis 26.
(Preisfrage: kürzeste RegEx für "jedes 65.", zusammen mit der zugeh. "Übersetzung" im MUT?)
Last edited by meisl on 2014-01-30, 00:15 UTC, edited 2 times in total.
ago,
AutoHotkey:
AHK installieren, Skript ausführen und dann nur F12 gedrückt halten.
HTH
Roman
AutoHotkey:
Code: Select all
#IfWinActive ahk_class TTOTAL_CMD
$F12::SendInput, {Insert}{Down 10}
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.


Ich hätte da allerdings eher <F10> genommen:
$F10::SendInput, {Insert}{Down 10}

Holger
Edit: bei 70.000 Dateien und einer Wiederholrate von 20 Zeichen pro Sekunde dauert das allerdings ca. 5.8333... Minuten.
Also vielleicht doch eine kleinen Stein auf die Taste legen und zwischendurch eine Tee trinken gehen.
Äh, kleine Korrektur, da das vorherige Skript jede elfte Datei markiert anstelle von jeder zehnten:
Roman
Code: Select all
#IfWinActive ahk_class TTOTAL_CMD
$F12::SendInput, {Insert}{Down 9}
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.
@ago: Du müsstest mal Bescheid geben ob einer bzw. welcher der vorgeschlagenen Ansätze für Dich praktikabel ist - oder wenn keiner es ist: warum nicht.
Einiges ist recht kryptisch, also frag' ruhig nach wenn was unklar ist!
Der Thread-Titel und auch der OP ("original post") fragen nach einer ziemlich allgemeinen Lösung, und die ist naturgemäß komplizierter als eine spezielle.
Sollte also Dein "n" tatsächlich immer nur =10 sein und Deine Dateien immer gleichförmig durchnummeriert (wie von Dalai gefragt), dann ist alles viel einfacher als es nach all diesen engagierten Posts möglicherweise für Dich aussieht
Einiges ist recht kryptisch, also frag' ruhig nach wenn was unklar ist!
Der Thread-Titel und auch der OP ("original post") fragen nach einer ziemlich allgemeinen Lösung, und die ist naturgemäß komplizierter als eine spezielle.
Sollte also Dein "n" tatsächlich immer nur =10 sein und Deine Dateien immer gleichförmig durchnummeriert (wie von Dalai gefragt), dann ist alles viel einfacher als es nach all diesen engagierten Posts möglicherweise für Dich aussieht

Last edited by meisl on 2014-01-30, 00:34 UTC, edited 1 time in total.
Stimmt!meisl wrote:Sollte also Dein "n" tatsächlich immer nur =10 sein und Deine Dateien immer gleichförmig durchnummeriert (wie von Dalai gefragt), dann ist alles viel einfacher als es nach all diesen engagierten Posts möglicherweise für Dich aussieht
Konfigurieren -> Einstellungen... -> Schnellsuche:
(o) Buchstaben mit Dialog
[_] Am Anfang(....)
[x] Am Ende(...)
Im Dateipanel eingeben:
Code: Select all
0.jpg
... Markieren, Verschieben, Löschen, oder was man sonst noch mit den ungewünschten Daten machen will.
Oder noch schneller:
<+>
Code: Select all
*0.jpg
Aber auch nur, wenn alle 70.000 Bilder im Namen eine lückenlosen, durchgehende Nummerierung enthalten!
Gruss
Holger
Last edited by HolgerK on 2014-01-30, 13:30 UTC, edited 1 time in total.
Erst einmal vielen herzlichen Dank an alle für die vielen tollen Rückmeldungen und Lösungsansätze.
Ich muss leider zugeben, dass ich nicht alles vollständig verstanden habe. Ich nehme aber an, dass eine Filterung wohl praktikabler erscheint, als die F12-Tastendruck Geschichte. Müsste man mal ausprobieren.
Dennoch ein paar Fragen.
Die Bilddateien sind übrigens von 00001.jpg bis 71200.jpg fortlaufend und durchgängig nummeriert.
1. Ich erzeuge und speichere eine "irgendwas.cmd" wie von ZoSTeR beschrieben. Frage: Die Rede ist von einem Plugin? Welches genau?
2. Was bezeichnet man als MUT?
3. Wo finde ich AHK? In der offiziellen Plugin-Liste konnte ich nichts entdecken.
Derweil teste ich gerade den Ansatz von HolgerK und melde mich wieder.
Gruß, ago
Ich muss leider zugeben, dass ich nicht alles vollständig verstanden habe. Ich nehme aber an, dass eine Filterung wohl praktikabler erscheint, als die F12-Tastendruck Geschichte. Müsste man mal ausprobieren.
Dennoch ein paar Fragen.
Die Bilddateien sind übrigens von 00001.jpg bis 71200.jpg fortlaufend und durchgängig nummeriert.
1. Ich erzeuge und speichere eine "irgendwas.cmd" wie von ZoSTeR beschrieben. Frage: Die Rede ist von einem Plugin? Welches genau?
2. Was bezeichnet man als MUT?
3. Wo finde ich AHK? In der offiziellen Plugin-Liste konnte ich nichts entdecken.
Derweil teste ich gerade den Ansatz von HolgerK und melde mich wieder.
Gruß, ago
ago,
AutoHotkey.
Da aber die Dateien fortlaufend und durchgängig nummeriert sind scheint HolgerKs Lösung die praktikabelste.
HTH
Roman
AutoHotkey.
Da aber die Dateien fortlaufend und durchgängig nummeriert sind scheint HolgerKs Lösung die praktikabelste.
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.