X-Name: technische Beschreibung

Das Tool X-Name ist in C#, mit der Community Edition von Microsoft Visual Studio 2017, entwickelt worden. Da es sich hier um ein recht simples Tool handelt, fällt die technische Betrachtung hier recht kurz aus.

Folgendes möchte ich dennoch kurz erläutern:X-Name: technische Beschreibung

  • Varianten des Umbenennens

  • Dateinamenersetzung

 

Varianten des Umbenennens

Mein Lieblingsthema, der Virenscanner, hat auch hier bei den ersten Versuchen gnadenlos zugeschlagen und zwar in der Form, dass er alle bearbeiteten Dateien, so wie das Tool selbst, gelöscht hat. Aus diesem Grund ist für den "Normalbetrieb" des Tools die Variante des "sicheren Umbenennens" hinzugefügt worden. "Sicheres Umbenennen" heißt nichts anderes als, dass die Dateien mit neuem Namen kopiert werden, dann ein Größenvergleich zwischen der ursprünglichen und neuen Datei stattfindet. Ist dieser erfolgreich, so wird die Ursprungsdatei gelöscht. Ist der Virenscanner einmal mit dem Tool vertraut, bzw. traut ihm, kann ohne Weiteres das schnelle Umbenennen gewählt werden.

 

Dateinamenersetzung

Das Feld "ersetzte Datei von" wird zerlegt in Wildcards und feste Zeichenfolgen. Nach genau dem Muster wird dann der zu ändernde Dateibezeichner aufgesplittet.

Zur Verdeutlichung hier ein kleines Beispiel:

Dateiname   Wildcards und feste Zeichenfolgen
ersetzte Datei von ?_*x?.*/td>   ? _ * x ? . *

Beispiel 1:

P_12345x7.JPG   P _ 12345 x 7 . JPG
Beispiel 2: P_ABCDEx1.JPG   P _ ABCDE x 1 . JPG

 

Ebenfalls wird der "ersetzte Datei nach" String vor der Verwendung in seine Bestandteile zerlegt. Diese Bestandteile müssen der Anzahl und dem Typ der "ersetzte Datei von" Feldern entsprechen. Das heißt eine Wildcard (*, ?) muss mit einer Wildcard oder einem Sonderfeld ersetzt werden.

Nun kann der Dateiname nach dem Abbild von "ersetzte Datei von" zerlegt werden und nach dem Muster von "ersetzte Datei nach" zusammengebaut werden. Somit ergeben sich die neuen Dateinamen.

    Das Ganze nun in einem Beispiel:

    Dateiname   Wildcards und feste Zeichenfolgen
    ersetzte Datei von ?_*x?.*/td>   ? _ * x ? . *
    ersetzte Datei nach %cnt2%_Urlaub""_"2017"."jpg"   %cnt2% _Urlaub "" _ "2017" . "jpg"
    Beispiel 1:

    original

    P_12345x7.JPG       P _ 12345 x 7 . JPG

      umbenannt

    01_Urlaub_2017.jpg       01 _Urlaub   _ 2017 . jpg
    Beispiel 2:
    original P_ABCDEx1.JPG   P _ ABCDE x 1 . JPG
       umbenannt 02_Urlaub_2017.jpg   02 _Urlaub   _ 2017 . jpg

     

    Sonderfelder:

    • %cnt% => ein einfacher Zähler
    • %cntX% => wobei X eine Zahl zwischen 1 und 9 ist und die Anzahl der führenden Nullen des Zählers angibt
    • "abc" => freie Zeichenfolge (eine leere Zeichenfolge ist ebenfalls erlaubt) zwischen 2 Anführungszeichen