A-Z 100
Tools
 
 
AsciiKey
Birthday
IdleDetector
PCache
Pedate
TXTreload
Waittime
Werktag
 
PCache

Bilddateienextrahierer aus Firefox' Cacheordner



Über das Tool
Das Tool sucht Bilddateien in einem Quellordner und kopiert diese in einen Zielordner.
Primär ist es dazu gedacht, den Cacheordner von Firefox als Quellordner zu verwenden.
Wozu?
Beim Laden von Seiten wird der Seiteninhalt samt Grafiken im Cacheordner abgelegt.
Die Dateien haben dort aber so aussagekräftige Namen wie beispielsweise "0A566623D9DD3935E0A1E112C5A14843B97270F4".
Das Tool prüft alle vorliegenden Dateien darauf, ob es sich um eine Grafikdatei handelt und um welchen Typ und kopiert die entsprechenden Dateien in den Zielordner, wobei sie dort umbenannt und mit passender Extension abgelegt werden.
Das Namensschema für die Zieldateien ist konfigurierbar.

Das Tool kann aber auch auf andere Bilderordner angewendet werden und dabei als Umbenenner und Dateiextensionskorrigierer fungieren.


Systemvoraussetzung
- Windows XP oder höher
- .Net Framework 3.5
- Nicht zwingend: Für Festplattencache konfigurierter Firefox und die Kenntnis darüber, wo sich dieser Cache-Ordner befindet.


Hinweise
Firefox' Cacheordner
Mit der Eingabe von about:cache in der Adresszeile von Firefox lässt sich nachsehen wo im Moment der Festplattencache liegt.
Der entsprechende Pfad wird dort unter Storage disk location angezeigt.

Mit der Eingabe von about:config in der Adresszeile von Firefox lässt sich die erweiterte Konfiguration von Firefox aufrufen.
Dort kann man natürlich auch viel Mist machen, daher kommt eine entsprechende Warnung.
Hier sollte zumindest der Wert für browser.cache.disk.enable auf true stehen.
Mit dem Wert des Schlüssels browser.cache.disk.parent_directory lässt sich der Ort des Cacheordners festlegen.
Dieser Schlüssel existiert erst mal nicht, er muss neu angelegt werden.
Das geht mit einem Rechtsklick auf einen beliebigen Eintrag -> Neu -> String
Eigenschaftsname: browser.cache.disk.parent_directory
Wert: C:\Temp\ (zum Beispiel)
Der Cacheordner wird nach einem Neustart von Firefox als neuer Unterordner unter beispielsweise C:\Temp\ angelegt und benutzt.
Wer sich unsicher ist, was, wie zu tun ist, der bemühe bitte eine Suchmachine mit den Suchworten: Firefox Festplattencache

Formate
Das Tool erkennt Datei-Formate nicht anhand der Datei-Extension, sondern anhand des Inhalts, genauer gesagt anhand des Datei-Headers.
Erkannt und benutzt werden diese Formate:
Jpeg => .jpg
Bmp  => .bmp
Gif  => .gif
Png  => .png
Tiff => .tif
Exif => .exif
Emf  => .emf
Icon => .ico
Wmf  => .wmf


Lizenz
PCache ist Freeware und darf ohne Einschränkung benutzt werden.
Für die Benutzung und deren Folgen lehne ich jegliche Haftung ab.
Eine Onlineverbreitung per Download behalte ich mir als Recht vor.


Bedienung
Das Tool ist per Kommandozeilenparameter und/oder per Ini-Datei konfigurierbar.
Eine Ini-Datei PCache.ini mit Defaultwerten kann vom Tool generiert werden und dann nach Belieben modifiziert werden.
Parameter
 /?            - Eine Hilfe wird ausgegeben.
 /q "Quelle"   - Quellordner (muss existieren)
                  Pfadangabe ohne abschließenden Backslash
 +s          * - Unterordner der Quelle werden auch durchsucht
 -s            - Unterordner der Quelle werden nicht durchsucht
 /z "Ziel"   * - Zielordner (wird ggf. erzeugt)
                  Pfadangabe ohne abschließenden Backslash
                * Default-Ziel = PCache-Zielordner als Unterordner neben PCache.exe
 +a            - Im Zielordner wird die Struktur der Quelle angelegt.
 -a          * - Alle Zieldateien landen "flach" nebeneinander im Zielordner.
 +e          * - Zielordner automatisch im Explorer öffnen
 -e            - Zielordner nicht automatisch im Explorer öffnen
 /m nn       * - Mindestauflösung: nn Pixel (Höhe und Breite)
                * Default-Mindestauflösung = 64
                  Positive Werte für nn: Alle Quelldateien, die in Höhe und Breite die Mindestauflösung haben, werden verwendet.
                  Negative Werte für nn: Alle Quelldateien, die in Höhe und Breite die Mindestauflösung haben, werden gelöscht. Es erfolgt zuvor eine Nachfrage.
                  Werte für nn mit Fragezeichen (Bsp.: 200?) führt dazu, dass zur Neueingabe oder Bestätigung der Mindestauflösung aufgefordert wird.
 -m            - Keine Mindestauflösung, also Mindestauflösung = 1 Pixel
 /i            - Erzeugt eine Ini-Datei mit den internen Defaultwerten
                  Zusätzliche Parameter werden übernommen.
                  Aktionen werden nicht ausgeführt.
 /v            - Quelldateien werden ins Ziel verschoben
 /k          * - Quelldateien werden ins Ziel kopiert
 +j            - Zieldateien werden ohne Nachfrage überschieben
 -j          * - Zieldateien werden nur auf Nachfrage überschieben
 -u            - Zieldateien erhalten den Namen der jeweiligen Quelldatei
 /u "Muster" * - Zieldateien werden nach dem "Muster"umbenannt
                  "Muster" kann eigene Zeichen und/oder Platzhalter enthalten
                   [original]   - Platzhalter für Quelldateiname
                   [clipboard]  - Platzhalter für Text aus Zwischenablage
                   [clipboard_] - Leerzeichen werden durch _ ersetzt
                   [datum]      - Platzhalter für das aktuelle Datum
                   [zeit]       - Platzhalter für die aktuelle Uhrzeit
                   [###]        - Platzhalter für eine fortlaufende Zahl
                                  Anzahl der # = Mindeststellenanzahl (führende Nullen)
                * Default-Muster = [datum]_[zeit]_[###]
 /d "yyMMdd" * - Format in dem der Platzhalter [datum] umgewandelt wird
                * Default-Datumsformat = yyyy-MM-dd
 /t "HHmmss" * - Format in dem der Platzhalter [zeit] umgewandelt wird
                * Default-Zeitformat = HHmmss
 +b          * - Ausführung der Aktionen muss bestätigt werden
 -b            - Aktionen werden sofort ausgeführt
 +w          * - Das Tool wartet nach Ausführung auf einen Tastendruck.
 -w            - Das Tool beendet sich nach Ausführung sofort.

Tool-interne Defaultwerte sind mit * gekennzeichnet.

Syntax-Beispiel
PCache /q C:\Temp\cache /z "C:\Temp\Cache Kopie" /m 640 +a -e /u "Meine Zieldatei Nr. [#]"

Anmerkungen
Die Reihenfolge der Paramater ist wahlfrei.
Ist keine Ini-Datei vorhanden, so muss zumindest "Quelle" angegeben werden.
Alle anderen Parameter sind optional.
Parameter werden durch Leerzeichen voneinander getrennt.
Parameter die Leerzeichen enthalten müssen in Anführungszeichen sitzen.
Das betrifft "Quelle", "Ziel", "Muster", Datums- und Zeitformat.
Nur falls diese Parameter keine Leerzeichen enthalten, können die Anführungszeichen weggelassen werden.
Muster darf nur Zeichen enthalten, die für Dateinamen geeignet sind, also nicht diese: \ / : * ? " < > |

Priorisierung
Das Tool nutzt interne Defaultwerte.
Werte der optionalen Ini-Datei "überschreiben" interne Defaultwerte.
Parameter "überschreiben" Werte der Ini-Datei und interne Defaultwerte.

Interne Defaultwerte für Umbenennung
Muster = [datum]_[zeit]_[###] => 2015-06-14_125305_001
Datumsformat = yyyy-MM-dd => 2015-06-14
Zeitformat = HHmmss => 125305

Interner Defaultwert für Drag'n'Drop
Muster = [original] => Name der zugehörigen Quelldatei

Ini-Datei
Die Ini-Datei muss PCache.ini heißen. Mit PCache /i kann eine Ini-Datei mit den internen Defaultwerten erzeugt werden.
Der Inhalt der Default-Ini-Datei sieht so aus:

 #PCache Ver. 1.2 (Zeilen die mit # beginnen sind Kommentarzeilen und werden ignoriert.)

 Quellordner =  (Hier kann ein "fester" Quellordner angegeben werden, ansonsten ist er per Parameter oder durch Drag'n'Drop zu übergeben.)
 Struktur durchsuchen = 1 (0 oder 1) (0 entspricht -s | 1 entspricht +s)
 Zielordner = D:\Frank\Code\PCache\bin\Debug\PCache-Zielordner (entspricht /q "Quelle")
 Struktur anlegen = 0 (0 oder 1) (0 entspricht -a | 1 entspricht +a)
 Ziel öffnen = 1 (0 oder 1) (0 entspricht -e | 1 entspricht +e)
 Mindestauflösung = 64? (entspricht /m 64?)  Verschieben = 0 (0 oder 1) (0 entspricht /k | 1 entspricht /v)
 Umbenennen = 1 (0 oder 1) (0 entspricht -u | 1 entspricht /u)
 Überschreiben = 0 (0 oder 1) (0 entspricht -j | 1 entspricht +j)
 Rename-Muster = [datum]_[zeit]_[###] (entspricht "Muster" bei /u "Muster")
 Drop-Muster = [original] (entspricht "Muster" bei Drag'n'Drop)
 Datumsformat = yyyy-MM-dd (entspricht Datumsformat bei /d)
 Zeitformat = HHmmss (entspricht Zeitformat bei /t)
 Start bestätigen = 1 (0 oder 1) (0 entspricht -b | 1 entspricht +b)
 Beenden bestätigen = 1 (0 oder 1) (0 entspricht -w | 1 entspricht +w)
Die Anmerkungen in Klammern sind nicht Teil der Ini-Datei.

Drag'n'Drop
Ein Quellordner kann per Drag'n'Drop auf die PCache.exe an diese übergeben werden.
Das entspricht einem Aufruf wie mit Parameter /q "Quelle", wobei bei dieser Aktion als "Quelle" der Drag'n'Drop-Ordner angewendet wird.
Eine eventuell vorhandene Ini-Datei wird dabei beachtet, eben nur nicht deren Wert für Quellordner.
Im Falle der Übergabe eines Quellordners per Drag'n'Drop wird aus der Ini-Datei nicht der Wert von Rename-Muster, sondern der Wert von Drop-Muster für die Umbenennung herangezogen.

Möchte man auch bei Drag'n'Drop weitere Parameter verwenden, so kann man eine Verknüpfung zu PCache.exe erstellen und in deren Eigenschaften, im Feld "Ziel" Parameter angeben.
Bsp.: D:\Tool\PCache.exe /z "C:\Temp\Cache Kopie" /m 640? +a -e /u [###] /q %1
/q muss dabei als letzter Parameter gesetzt werden, da der Drag'n'Drop-Ordner als allerletzter Parameter automatisch vom System übergeben wird.
Ein Drag'n'Drop erfolgt dann natürlich nicht auf die PCache.exe direkt, sondern auf die mit Parametern ergänzte Verknüpfung.
Auch hier wird eine eventuell vorhandene Ini-Datei beachtet, wobei Parameter eine höhere Priorisierung haben, als die entsprechenden Werte aus der Ini-Datei.

Zwischenablage
Bei Verwendung des Platzhalters [clipboard] oder [clipboard_] wird der in der Zwischenablage gespeicherte Text angewendet, wobei das nicht 1zu1 passiert.
Es werden zunächst nur die ersten 200 Zeichen aus dem Textspeicher der Zwischenablage gelesen. Falls dieser mehrzeilig sein sollte wird die erste Zeile angewendet, die keine unzulässigen Zeichen enthält und die nicht nur aus Leerzeichen oder Ähnlichem besteht.
Führende und abschließende Leerzeichen werden abgeschnitten, dann werden die verbleibenden Zeichen auf 150 Stück begrenzt und noch einmal führende und abschließende Leerzeichen entfernt.
Bei der Verwendung von [clipboard_] werden nach der beschriebenen Auswertung der Zwischenablage alle verbliebenen Leerzeichen durch Unterstriche ersetzt.

Zeit- und Datumsformat
Für die Umwandlung der Platzhalter [zeit] und [datum] beim Umbenennen können folgende Schlüsselwerte benutzt werden:
dddd, ddd, dd, d - Tag     (Montag, Mo, 07, 7)
MMMM, MMM, MM, M - Monat   (März, Mrz, 03, 3)
yyyy, yyy, yy, y - Jahr    (2005, 2005, 05, 5)
HH, H, hh, h     - Stunde  (18, 8, 06, 0)
mm, m            - Minute  (05, 5)
ss, s            - Sekunde (09, 9)
fffff            - Sekundendezimalstellen, max. 7 Stk., inkl. 0 (84000)
FFFFF            - Sekundendezimalstellen, max. 7 Stk., ohne 0  (84)
K                - Zeitzonendifferenz zu UTC (+01:00)
z, zz, zzz       - Zeitzonendifferenz zu UTC (+1, +01, +01:00)
gg               - Zeitära (n. Chr.)
t, tt            - Zeitinformation AM/PM (A/P, AM/PM) (Nur bei Systemen mit Zwölfstundenformat, sonst ohne Ausgabe)
Alle anderen Zeichen können auch benutzt werden, wobei sie unverändert angewendet werden. Ein A bleibt ein A und ein - bleibt ein -.
Zeichen, die in Dateinamen nicht zulässig sind, können allerdings nicht verwendet werden, was beispielswiese für eine Uhrzeit ein Doppelpunkt wäre. "HH:mm" für z.B. 12:05 kann als nicht verwendet werden, aber "HH.mm" für z.B. 12.05 ginge hingegen schon.
Diese Schlüsselwerte sind sowohl für [zeit] als auch [datum] gültig. Es gibt konzeptionell eigentlich keinen Unterschied zwischen den Beiden, außer man setzt ihre Format-Werte unterschiedlich.
Ich hätte die beiden Platzhalter daher auch "Datum-und-Zeit-1" und "Datum-und-Zeit-2" nennen können.

Errorlevel
Nur für die, diese interessiert sei hier erwähnt, dass das Tool folgende Errorlevel setzt:
0 - Kein Fehler aufgetreten. Aktionen auf eine oder mehrere Dateien angewendet
1 - Kein Fehler aufgetreten, aber keine oder keine passende Quelldatei gefunden
2 - Ini-Datei geschrieben oder "nicht überschreiben" gewählt
3 - Hilfe angefordert
4 - Hilfe ausgegeben wegen Fehler
5 - Syntaxfehler oder ungültige Angaben oder Aktionen auf Nachfrage abgebrochen
6 - Ausführungsfehler

Warnung
/v, +j und negative Mindestauflösung sollten mit Bedacht benutzt werden. Dateiverlust droht durch Verschieben und/oder Überschreiben oder Löschen.
Generell sollte man sich zunächst mit der Funktionsweise und den Auswirkungen des Tools vertraut machen und es sich gut überlegen, ob man es auf Urlaubsfotos anwendet von denen man kein Backup hat.


Download
PCache (Version 1.2)


Fragen und Anmerkungen zu "PCache" bitte per E-Mail schicken.