Wenn man Bücher mit der Kamera digitalisiert, wird man erstmal die Fotos vorsortieren bevor man die Daten ans OCR weiterreicht, zum Beispiel um Fehlseiten zu erkennen und doppelte Fotos auszusortieren. Solange die beiden gegenüberliegenden Buchseiten noch nicht in der Mitte getrennt sind, kann man aber nicht einfach über einen +1 hochzählenden Dateinamen erkennen, an welcher Stelle etwas schief gegangen ist. Die KI ist hierzu leider noch nicht so gut in der Lage, also braucht es einen anderen Weg.

Um manuell festzustellen welche Seiten fehlen und welche doppelt sind kann man ganz einfach ein Powershell-Skript nutzen, das in 2-er-Schritten hochzählt. Sobald dann die stichprobenartig herausgesuchte Buchseite nicht mehr mit dem Dateinahmen übereinstimmt weiß man dass man nacharbeiten muss, denn:

Buchseite im Foto ist höher als der Dateiname = Fehlseite
Seitenzahl im Foto ist kleiner = doppeltes Foto

Den Zielordner mit drag+drop in die Shell reinziehen und mittels „cd “ Voranstellung den Prompt dahin ändern.
Alle Doppelseiten die vor der 1 kommen (Titel, Inhaltsverzeichnis, Vorwort, etc) in einen Unterordner stecken damit sie erstmal ignoriert werden.

$i=1; Get-ChildItem *.jpg | Sort-Object LastWriteTime | ForEach-Object { Rename-Item $_ ("B{0:D3}.jpg" -f $i); $i+=2 }

Was hier passiert

Get-ChildItem *.jpg → holt die Dateien

Sort-Object LastWriteTime → älteste zuerst

$i=1 → Start bei der ersten Zahl

$i+=2 → ungerade Zahlen werden übersprungen

F{0:D3} → z. B. F002, F004, F006

Man könnte es auch mit den EXIF Informationen machen, ist aber etwas wilderer Code:

$i=1; Get-ChildItem *.jpg | Sort-Object { try { ([datetime]::ParseExact(([System.Text.Encoding]::ASCII.GetString((New-Object Drawing.Bitmap($_.FullName)).GetPropertyItem(36867).Value).Trim([char]0)), 'yyyy:MM:dd HH:mm:ss',$null)) } catch { Get-Date } } | ForEach-Object { Rename-Item $_ ("Bild_{0:D3}.jpg" -f $i); $i+=2 }

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert