Jede n. Datei markieren

German support forum

Moderators: white, Hacker, Stefan2

ago
Junior Member
Junior Member
Posts: 4
Joined: 2014-01-29, 10:36 UTC

Jede n. Datei markieren

Post by *ago »

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
meisl
Member
Member
Posts: 171
Joined: 2013-12-17, 15:30 UTC

Post by *meisl »

Hallo ago,
weiß zwar im Moment auch nicht wie, wäre aber neugierig wofür man das brauchen könnte... :?:
ago
Junior Member
Junior Member
Posts: 4
Joined: 2014-01-29, 10:36 UTC

Post by *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.
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

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
#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
ZoSTeR
Power Member
Power Member
Posts: 1008
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Könnte man über Kommentare lösen.

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
Jetzt über eine Spaltenansicht mit "Kommentar" sortieren oder
Auswahlfilter mit "Plugins -> Tc Kommentar = 10" erstellen.
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

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
#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
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

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:

Code: Select all

[N].[E] #[C000+1:5]#
Erweiterung freilassen.
Suchen nach:

Code: Select all

(.*) #(.*)#
Ersetzen durch:

Code: Select all

"$1" <$2>
[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
Last edited by HolgerK on 2014-01-29, 18:05 UTC, edited 1 time in total.
meisl
Member
Member
Posts: 171
Joined: 2013-12-17, 15:30 UTC

Post by *meisl »

Wenn Dalai's Kriterium erfüllt ist (EDIT: muß aber nicht, sh oben bzw. unten)
... 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.)
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 = ...
:D

---
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.
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

ago,
AutoHotkey:

Code: Select all

#IfWinActive ahk_class TTOTAL_CMD
$F12::SendInput, {Insert}{Down 10}
AHK installieren, Skript ausführen und dann nur F12 gedrückt halten.

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
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

:shock: ... Pragmatisch! ... :D

Ich hätte da allerdings eher <F10> genommen:
$F10::SendInput, {Insert}{Down 10}
:wink:
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.
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Äh, kleine Korrektur, da das vorherige Skript jede elfte Datei markiert anstelle von jeder zehnten:

Code: Select all

#IfWinActive ahk_class TTOTAL_CMD
$F12::SendInput, {Insert}{Down 9}
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.
meisl
Member
Member
Posts: 171
Joined: 2013-12-17, 15:30 UTC

Post by *meisl »

@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 :)
Last edited by meisl on 2014-01-30, 00:34 UTC, edited 1 time in total.
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

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 :)
Stimmt!

Konfigurieren -> Einstellungen... -> Schnellsuche:
(o) Buchstaben mit Dialog
[_] Am Anfang(....)
[x] Am Ende(...)

Im Dateipanel eingeben:

Code: Select all

0.jpg
Dafür sorgen, dass das Filter die nicht passenden Dateien versteckt (<Strg+S>).
... 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.
ago
Junior Member
Junior Member
Posts: 4
Joined: 2014-01-29, 10:36 UTC

Post by *ago »

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
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

ago,
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.
Post Reply