Wie lassen sich Dateinamen mittels Batchdatei ergänzen?
Als neues Forumsmitglied und ohne formale Fachkenntnisse bitte ich um Nachsicht hinsichtlich der Präsentation meines Anliegens.
Ausgangssituation:
Pdf-Dateien in einem bestimmten Ordner (A) sollen
- mittels vorhandener OCR-Software durchsuchbar gemacht werden und
- als durchsuchbar gekennzeichnet werden sowie
- in diesem Ordner (A) neben den Originaldateien gespeichert werden.
(Betriebssystem Windows XP Professional, SP 3.)
Problem:
Die OCR-Software überschreibt die pdf-Originaldateien, erlaubt also keine Dateinamens-Ergänzung.
Work-Around:
Die OCR-Software kann die Dateien auch in einem beliebigen anderen Ordner (B) speichern.
Lösungsidee:
Speicherung in Ordner B und später Ergänzung der originalen Dateinamen in Ordner B durch z. B. "-OCR" mittels Batchdatei, sodass aus "Dateiname.pdf" "Dateiname-OCR.pdf wird".
(Anschliessend Verschieben der umbenannten Dateien mittels weiterer Batchdatei in den Ordner A, sodass dort sowohl die originalen als auch die durchsuchbaren pdf-Dateien verfügbar sind. Ein solches Skript habe ich bereits gefunden.)
Darf ich mich mit der Bitte um Unterstützung an das Forum wenden?
Ausgangssituation:
Pdf-Dateien in einem bestimmten Ordner (A) sollen
- mittels vorhandener OCR-Software durchsuchbar gemacht werden und
- als durchsuchbar gekennzeichnet werden sowie
- in diesem Ordner (A) neben den Originaldateien gespeichert werden.
(Betriebssystem Windows XP Professional, SP 3.)
Problem:
Die OCR-Software überschreibt die pdf-Originaldateien, erlaubt also keine Dateinamens-Ergänzung.
Work-Around:
Die OCR-Software kann die Dateien auch in einem beliebigen anderen Ordner (B) speichern.
Lösungsidee:
Speicherung in Ordner B und später Ergänzung der originalen Dateinamen in Ordner B durch z. B. "-OCR" mittels Batchdatei, sodass aus "Dateiname.pdf" "Dateiname-OCR.pdf wird".
(Anschliessend Verschieben der umbenannten Dateien mittels weiterer Batchdatei in den Ordner A, sodass dort sowohl die originalen als auch die durchsuchbaren pdf-Dateien verfügbar sind. Ein solches Skript habe ich bereits gefunden.)
Darf ich mich mit der Bitte um Unterstützung an das Forum wenden?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 30.04.2011 um 00:29:02 Uhr
Den (bis auf die suboptimale Bereichswahl vorbildlichen) Beitrag verschoben von "Windows wohl" nach "Batch & Shell".
Content-ID: 165147
Url: https://administrator.de/forum/wie-lassen-sich-dateinamen-mittels-batchdatei-ergaenzen-165147.html
Ausgedruckt am: 01.05.2025 um 18:05 Uhr
10 Kommentare
Neuester Kommentar

moin und willkommen,
Kannst du bitte noch mal etwas ausführlicher ausholen?
Gruß
Kannst du bitte noch mal etwas ausführlicher ausholen?
Pdf-Dateien in einem bestimmten Ordner (A) sollen mittels vorhandener OCR-Software durchsuchbar gemacht werden
- ich nutze alles mögliche und unter anderem auch einen Indizierer (http://www.mnogosearch.org/), der PDFs ohne großes tamtamm durchsuchen kann.
Die OCR-Software überschreibt die pdf-Originaldateien, erlaubt also keine Dateinamens-Ergänzung.
- welche nutzt du, kann die kommandozeilen abarbeiten, mußt du diese nehmen?
- warum zwei /x Scripte wenn man alles mit einem Script lösen kann?
Gruß
Hallo hoelderlin und willkommen im Forum!
Schematisch (und ungetestet) etwa so:
Es werden nach einem Wechsel in den Ordner "A" alle noch nicht bearbeiteten (also noch nicht den Zusatz "%Suffix%" enthaltenden) pdf-Dateien mit dem OCR-Programm (Zeile 7 anpassen) bearbeitet, das Ergebnis im %Temp%-Ordner gespeichert und von dort - bei gleichzeitiger Umbenennung - in den Basis-Ordner zurück verschoben.
Grüße
bastla
Schematisch (und ungetestet) etwa so:
@echo off & setlocal
set "Basis=D:\Ordner A"
set "Suffix=-OCR"
pushd "%Basis%"
for /f "delims=" %%i in ('dir /b /a-d *.pdf^|findstr /i /v "%Suffix%"') do (
x:\OCR-Prog "%%i" %Temp%
move "%Temp%\%%i" "%%~ni%Suffix%%%~xi"
)
popd
Grüße
bastla
Hallo hoelderlin!
Das Umbenennen erfolgt in der Zeile 8 des obigen Batches - dabei wird auch gleichzeitig verschoben (und ich sehe eigentlich keinen Sinn darin, diesen Vorgang "künstlich" zu trennen) ...
Wenn Du bereits einen Ordner "D:\Ordner B" mit den entsprechenden Dateien befüllt hast, müsste der Batch etwa so aussehen:
Zu "
Mit "
BTW: Du kannst für alle CMD-Befehle mit "
In dieser Variante hier wird vor dem Verschieben (und Umbenennen) der Datei aus dem "B"-Ordner zunächst geprüft, ob noch keine gleichnamige Datei (bereits mit dem Zusatz "-OCR") im "A"-Ordner existiert, da in einem Batch "
reduzieren ...
Falls Du tatsächlich gesteigerten Wert auf ein "Umbenennen ohne Verschieben" legen solltest, wäre der Befehl dafür "
Als Tipp: Es gibt hier im Forum sehr empfehlenswerte Tutorials (zB Tutorial zur FOR-Schleife).
Grüße
bastla
P.S.:
Das Umbenennen erfolgt in der Zeile 8 des obigen Batches - dabei wird auch gleichzeitig verschoben (und ich sehe eigentlich keinen Sinn darin, diesen Vorgang "künstlich" zu trennen) ...
Wenn Du bereits einen Ordner "D:\Ordner B" mit den entsprechenden Dateien befüllt hast, müsste der Batch etwa so aussehen:
@echo off & setlocal
set "Basis=D:\Ordner B"
set "Ziel=D:\Ordner A"
set "Suffix=-OCR"
pushd "%Basis%"
for /f "delims=" %%i in ('dir /b /a-d *.pdf"') do (
if not exist "%Ziel%\%%~ni%Suffix%%%~xi" move "%%i" "%Ziel%\%%~ni%Suffix%%%~xi"
)
popd
pushd
" und "popd
": damit wird ein Ordner vorübergehend zum aktuellen Ordner gemacht (wodurch die Angabe des Pfades in den einzelnen Verarbeitungsschritten nicht mehr nötig ist) bzw am Ende wieder zum (zwischengespeicherten) vorherigen Ordner zurückgewechselt.Mit "
%%~ni
" und "%%~nx
" werden Name und Extension (Dateityp) der gerade in der Schleife behandelten Datei "%%i" extrahiert - siehe dazu "for /?
" (ziemlich gegen Ende).BTW: Du kannst für alle CMD-Befehle mit "
Befehl /?
" eine Online-Hilfe aufrufen.In dieser Variante hier wird vor dem Verschieben (und Umbenennen) der Datei aus dem "B"-Ordner zunächst geprüft, ob noch keine gleichnamige Datei (bereits mit dem Zusatz "-OCR") im "A"-Ordner existiert, da in einem Batch "
move
" ohne Rückfrage bestehende Dateien überschreibet - sollte ein Überschreiben aber ohnehin gewünscht sein, einfach die Zeile 8 aufmove "%%i" "%Ziel%\%%~ni%Suffix%%%~xi"
Falls Du tatsächlich gesteigerten Wert auf ein "Umbenennen ohne Verschieben" legen solltest, wäre der Befehl dafür "
ren
", und die Angabe des neuen Namens müsste ohne Zielordner vorgenommen werden).Als Tipp: Es gibt hier im Forum sehr empfehlenswerte Tutorials (zB Tutorial zur FOR-Schleife).
Grüße
bastla
P.S.:
samt Aufruf der OCR-Software
würde voraussetzen, dass selbiger per Kommandozeile (mit den Übergabeparametern "Dateiname" und "Zielordner") möglich ist - falls nicht, müsste ohnehin das Erstellen der "durchsuchbaren" Dateien im Ordner "B" vorweg erledigt werden ...
Salü,
http://www.mnogosearch.org/
Gruß
Es handelt sich um reine pdf-Bilddateien ab Scanner, deren allfälliger Textinhalt erst mittels OCR erschlossen werden muss.
- puh unter Windoof nutze und daher kenne ich keinen Bild2Textkonverter, der cmd basiert werkeln kann.
Ein Indizierer wäre später noch sehr interessant, allerdings führte der Link ins Leere.
!Kunststück - mit dem Apfel sieht alles anders aus. (nimm einfach die letzte klammer ) weg.http://www.mnogosearch.org/
Gruß