Optimierung Umbenennungstool

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

User avatar
Meister Lampe
Posts: 98
Joined: 06 Apr 2014, 13:28

Re: Optimierung Umbenennungstool

15 Apr 2019, 12:41

Hallo just me!

Jetzt klappt es soweit.
1.) Ich habe gestern allerdings erfahren, daß die Leute, die diese Bilder eingescannt haben, manchmal auch zuviele Nullen, statt zuwenig vorne angefügt hatten, so daß es jetzt schon 7 Stellen sind. Man müßte also zuerst alle Nullen, die links stehen, entfernen und danach wieder auf 6 Stellen auffüllen. Oder geht das auch "in einem Rutsch" mit dem jetzigen Script und läßt sich in die Formatierungszeile

Code: Select all

If RegExMatch(NameArray[2], "^(\d{1," . Max . "})(\D?)$", Match)
einfügen?

2.) Mich würde auch interessieren, wie man mehrere unterschiedliche Trennzeichen optional eingibt bzw. ausschließt. Das wäre praktisch, falls jemand mal einen Bindestrich statt einem Unterstrich verwendet hat. Dann sollte aber nicht vorne der Bestandsname mit dem doppelten Bindestrich aufgetrennt werden.

3.) Eine weitere Frage: Ich habe mir eine kleine animierte Gif heruntergeladen und mit

Code: Select all

Wartesymbol := A_ScriptDir .  "\Farbenscheibe.gif"
...
SplashImage , %Wartesymbol%
... Umbenennungsschleife
SplashImage, Off
in das Script gefügt. Klappt auch ganz gut, nur dreht sich das Symbol nicht mehr. Wenn ich es mit einem normalen Bildprogramm aufrufe, aber schon. Wie animiere ich das auch im Aufruf über das AHK-Script?

Viele Grüße von Meister Lampe
just me
Posts: 6061
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Optimierung Umbenennungstool

16 Apr 2019, 07:38

Moin,

Wenn Du keine zusätzlichen Fehlerprüfungen eingebaut hast, nimmt das Skript beliebige Dateinamen, die zumindest einen Unterstrich und im zweiten Splitelement 1 - 5 Ziffern gefolgt von maximal 1 Buchstaben enthalten. Für das erste Splitelement sind keine Prüfungen vorhanden.

zu 1.): Du kannst natürlich auch nach 1 - 5 Ziffern mit beliebig vielen vorangestellten Nullen suchen:

Code: Select all

If RegExMatch(NameArray[2], "^(0*[1-9]\d{0," . (StellenZahl - 2) . "})(\D?)$", Match) ; wenn NameArray[2] 1 - Max Ziffern und ein oder kein Zeichen enthält, das keine Ziffer ist ...
{
   ; MsgBox, % StrLen(Match1) . ": " . Match1 . " - " . Match2
   If !(StrLen(Match1) = StellenZahl)
   {
      Match1 += 0
      If !(StrLen(Match1) < StellenZahl)
      {
         NewSign := Format("{:0" . StellenZahl . "}", Match1) . Match2
         FileMove, %A_LoopField%, %Verzeichnis%\%NewAktname%_%NewSign%.%Erweiterung%
      }
   }
}
*ungetestet*

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 2 guests