Benutzer-Werkzeuge

Webseiten-Werkzeuge


bildnummerierung

Dies ist eine alte Version des Dokuments!


Bildnummerierung


Wenn man mehrere Bilder gleich benennen und mit einer fortlaufenden Nummer versehen will, eignet sich dazu hervorragend die Stapelverarbeitung von FixFoto.
Soll dies innerhalb einer Bearbeitung mehrerer Bilder per Skript erfolgen, wird hier beispielhaft gezeigt, wie diese Aufgabe per Skript gelöst werden kann.

Es wird ein Bildername "NameNeu" festgelegt und der Ordner "Zielordner" abgefragt, in dem die nummerierten Bilder gespeichert werden sollen. Da in diesem Ordner bereits nummerierte Bilder mit dem neuen Namen abgelegt sein können, wird ermittelt, welche höchste Nummer dort existiert. Diese höchste Nummer, sie kann auch 0 sein, wird bei der danach folgende Benennung und Nummerierung berücksichtigt.

Option Explicit

const NameNeu = "Muster" 'neuen Bildnamen festlegen Dim Abbruch : Abbruch = false

Dim fso : Set fso = CreateObject("Scripting.FileSystemObject") Dim Bilder,Zielordner,k

call main if not Abbruch then

  k = Bild_Max(Zielordner,NameNeu & "_")                  'Korrekturwert für die Bildnummer
  call B_Nummerierung                                     'Bildnummerierung

end if

Set fso = Nothing '——————————————————————————————————- sub main

Bilder = FF_GetSelection(1) '0 = alle Dateien der Computeransicht

                                                 '1 = alle selektierten Dateien der Computeransicht
                                                 '2 = alle Dateien der aktuellen Bilderliste
                                                 '3 = alle selektierten Dateien der aktuellen Bilderliste

if len(Bilder) = 0 then

  msgbox "Es wurden keine Bilder ausgewählt!",vbInformation,"Abbruch"
  Abbruch = true
  exit sub

end if

do 'Zielordner abfragen

  FF_SetCurrentPath FF_GetImagePath
  Zielordner = FF_EnterPath(false,"Ordner auswählen!")
  if Zielordner <> "" then exit do

loop

end sub '——————————————————————————————————- Function Bild_Max(OrdnerAngabe,FilterAngabe) 'maximale Bildnummer ermitteln Dim f,f1,fc,MBild,pos

Set f = fso.GetFolder(OrdnerAngabe) Set fc = f.Files

For Each f1 in fc

  if instr(f1.Name,FilterAngabe) = 1 then
      if f1.Name > MBild then MBild = f1.Name
  end if

Next

if MBild = "" then

      Bild_Max = 0

else

  pos = InStrRev(MBild,"_")
  if pos > 0 then    Bild_Max = mid(MBild,pos+1,4) else Bild_Max = 0
  if IsNumeric(Bild_Max) then Bild_Max = Bild_Max *1 else k = 0

end if

Set f = nothing Set fc = nothing

End Function '——————————————————————————————————- sub B_Nummerierung 'ausgewählte Bilder nummerieren Dim Array,b,extension,suffix

Array = split(Bilder, vbNewLine)

for b = 0 to ubound(Array) 'Bilder mit neuem Namen und fortlaufender

  FF_LoadImage(Array(b))                        '    Nummerierung abspeichern
  extension = "." & fso.GetExtensionName(Array(b))
  suffix = b +1 +k
  do while len(suffix) < 4 : suffix = "0" & suffix : loop            'len(suffix) < 4, wenn Nummerierung 4-stellig
  FF_SaveImage Zielordner & "\" & NameNeu & "_" & suffix & extension,0

next

end sub '——————————————————————————————————-

bildnummerierung.1306999488.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki