Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
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".
GELÖST

Wie lassen sich Dateinamen mittels Batchdatei ergänzen?

Frage Entwicklung Batch & Shell

Mitglied: hoelderlin

hoelderlin (Level 1) - Jetzt verbinden

25.04.2011, aktualisiert 30.04.2011, 6148 Aufrufe, 10 Kommentare

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?
Mitglied: 60730
25.04.2011 um 18:46 Uhr
moin und willkommen,
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ß
Bitte warten ..
Mitglied: bastla
25.04.2011 um 18:49 Uhr
Hallo hoelderlin und willkommen im Forum!

Schematisch (und ungetestet) etwa so:
01.
@echo off & setlocal 
02.
set "Basis=D:\Ordner A" 
03.
set "Suffix=-OCR" 
04.
 
05.
pushd "%Basis%" 
06.
for /f "delims=" %%i in ('dir /b /a-d *.pdf^|findstr /i /v "%Suffix%"') do ( 
07.
    x:\OCR-Prog "%%i" %Temp% 
08.
    move "%Temp%\%%i" "%%~ni%Suffix%%%~xi" 
09.
10.
popd
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
Bitte warten ..
Mitglied: hoelderlin
25.04.2011 um 19:19 Uhr
Hallo TimoBeil,

vielen Dank für die prompte Reaktion und das "Willkommen".
Ich hoffe, der Beitrag bleibt übersichtlich, wenn ich die Zitatfunktion nutze...

Zitat von 60730:
...
Kannst du bitte noch mal etwas ausführlicher ausholen?
> Pdf-Dateien in einem bestimmten Ordner (A) sollen mittels vorhandener OCR-Software durchsuchbar gemacht werden
tamtamm durchsuchen kann.
Es handelt sich um reine pdf-Bilddateien ab Scanner, deren allfälliger Textinhalt erst mittels OCR erschlossen werden muss. Ein Indizierer wäre später noch sehr interessant, allerdings führte der Link ins Leere.

> 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?
Ich nutze OmniPage Professional V17.0. Einen Kommandozeileneditor konnte ich bei der Software nicht finden. Zu wechseln kommt eher nicht in Frage.

* warum zwei /x Scripte wenn man alles mit einem Script lösen kann?
Aus rein didaktischen Gründen: ich wollte etwas lernen, und dafür sollte es übersichtlich bleiben Ausserdem hatte ich bereits eine Batchdatei zum Verschieben gefunden.

Viele Grüsse!
Bitte warten ..
Mitglied: hoelderlin
25.04.2011 um 19:44 Uhr
Hallo bastla,

auch dir vielen Dank für den freundlichen Empfang und gleich noch die Lösung zu meiner Frage.
Ich habe mal in der kurzen Zeit bis zu meiner Antwort versucht, das Skript zu durchleuchten, war aber doch überfordert durch Variablen, Parameter etc.; "pushd" und "popd" bin ich noch am suchen ...

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.
Obwohl die Lösung keine Wünsche mehr offen lässt, indem sie offenbar den kompletten Ablauf integriert und automatisiert, samt Aufruf der OCR-Software - könnten wir das Skript vorerst noch in Einzelteile skelettieren, damit ich es besser verstehen kann?

Wie würde die Befehlsfolge aussehen, wenn es zunächst nur um das Umbenennen der (bereits durchsuchbaren) pdf-Dateien in dem Ordner B geht, in dem sich auch das Skript befinden könnte?

Nochmals vielen Dank
und viele Grüsse

PS. Zum Nachsehen hinsichtlich Syntax habe ich diesen Link verwendet: http://de.wikibooks.org/wiki/Batch-Programmierung
Vielleicht gibt es ja noch einen anderen Tipp, damit ich mich schneller reinfinde...
Bitte warten ..
Mitglied: bastla
25.04.2011 um 19:55 Uhr
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:
01.
@echo off & setlocal 
02.
set "Basis=D:\Ordner B" 
03.
set "Ziel=D:\Ordner A" 
04.
set "Suffix=-OCR" 
05.
 
06.
pushd "%Basis%" 
07.
for /f "delims=" %%i in ('dir /b /a-d *.pdf"') do ( 
08.
    if not exist "%Ziel%\%%~ni%Suffix%%%~xi" move "%%i" "%Ziel%\%%~ni%Suffix%%%~xi" 
09.
10.
popd
Zu "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 auf
move "%%i" "%Ziel%\%%~ni%Suffix%%%~xi"
reduzieren ...

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 zur FOR-Schleife von Friemler sowie Bibers Workshops).

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 ...
Bitte warten ..
Mitglied: 60730
25.04.2011 um 20:27 Uhr
Salü,

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ß
Bitte warten ..
Mitglied: hoelderlin
25.04.2011 um 21:05 Uhr
Hallo bastla!

Ich habe selten in so kurzer Zeit so viel gelernt - sogar ohne didaktische Trennung von Umbenennen und Verschieben
Die Befehlsauswahl scheint mir ja hochraffiniert (%%~ni, %%~nx, pushd, popd,...), und mit Deiner Hilfe gleich noch verständlich.

Habe noch eben gegoogelt und die Eingabeaufforderung mit einigen Befehlen gefüttert bzw. die Hilfe dazu aufgerufen.

Die Prüfung auf gleichnamige Dateien macht durchaus Sinn, ich belasse die Bedingung gerne.

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).
Nicht wirklich, es ging mir nur um die Didaktik, die dank Deiner Super-Erklärungen aber auch unabhängig davon elegant umgesetzt wurde. Dennoch probier' ich diese Variante sicher auch noch aus, wenn denn die Anleitung schon da ist ...

Als Nächstes werde ich das Skript in Betrieb nehmen und anschliessend gerne berichten.

Auch für die Tipps nochmals herzlichen Dank. Etwas Zeit ist dafür schon reserviert ...

> 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 ...
Ich müsste bei OmniPage Professional V17 nochmals gezielt nachsehen, ob ein Start mit Kommandozeilenparametern möglich ist. Soweit hatte ich ursprünglich gar nicht gedacht, weil bereits der Umstand, dass ich keine Möglichkeit fand, vorhandene Dateinamen beim Speichern mit Ergänzungen zu versehen, recht viel von meiner Euphorie verbraucht hatte.
Im Moment gehe ich davon aus, dass ich die durchsuchbaren pdf-Dateien tatsächlich vorgängig in Ordner "B" erstellen muss.

Erst mal viele Grüsse
und nochmals ein DANKE

PS. Warum das "dir /b /a-d" noch im Code versteckt ist, frage ich jetzt absichtlich nicht, sondern werde das "Aha" beim Feedback nachliefern. Eine Ahnung, was dabei passiert habe ich schon...
Bitte warten ..
Mitglied: hoelderlin
25.04.2011 um 21:38 Uhr
Sali TimoBeil

Du nutzt Mac?

Jetzt hat der Link funktioniert, danke! - Die Klammer hatte ich übersehen ...
Der Indizierer wird offenbar nur für Linux als freie Software angeboten. Die Software scheint auch (bis auf die Lite-Version) etwas komplex zu sein.
Aber, es wäre ja auch erst der nächste Schritt, an den ich bisher nicht mal gedacht hatte ... Also mal sehen.

Grüsse
Bitte warten ..
Mitglied: hoelderlin
29.04.2011 um 18:24 Uhr
Nachtrag und Feedback

Hallo bastla!

Das Skript läuft nach einer Mini-Modifikation und sieht so aus (hoffe mal, ich bekomme das mit der Code-Formatierung hin):

01.
@echo off & setlocal 
02.
set "Basis=C:\test\Ordner B" 
03.
set "Ziel=C:\test\Ordner A" 
04.
set "Suffix=-OCR" 
05.
 
06.
pushd "%Basis%" 
07.
for /f "delims=" %%i in ('dir /b /a-d *.pdf') do ( 
08.
    if not exist "%Ziel%\%%~ni%Suffix%%%~xi" move "%%i" "%Ziel%\%%~ni%Suffix%%%~xi" 
09.
10.
popd 
11.
 
12.
 
13.
 
14.
REM  *.pdf"' musste noch in  *.pdf' geändert werden
Dies ist die zugehörige Ordnerstruktur:
C:\test\Ordner A 
C:\test\Ordner B
Das Nur-Umbenennen-Skript ging auch:

@echo off & setlocal 
set "Suffix=-OCR" 
 
for /f "delims=" %%i in ('dir /b /a-d *.pdf') do ( 
    ren "%%i" "%%~ni%Suffix%%%~xi" 
)
Meine Nachfrage beim Support von Nuance betr. Omni Page Professional V17 ergab, dass sich das Programm angeblich nicht per Kommandozeilen steuern lässt ...

Nochmals ein herzliches Dankeschön für die Hilfe
und schönes Wochenende!
Bitte warten ..
Mitglied: bastla
29.04.2011 um 18:32 Uhr
Hallo hoelderlin!

Ich danke Dir für einen wirklich vorbildlichen Beitrag ...

... und solltest Du doch noch auf eine commandline-taugliche Alternative zu "Omni Page" stoßen, wird das sicher viele hier interessieren.

Auch Dir ein schönes Wochenende!
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Variabler Dateiname innerhalb einer Batchdatei
gelöst Frage von SpikeeeBatch & Shell5 Kommentare

Hallo Liebe Gemeinde! Vielleicht eine relativ simpel zu lösende Aufgabe, jedoch tu ich mich da grad ein wenig schwer, ...

Batch & Shell
Wildcard im Dateinamen möglich bei Batchdatei?
Frage von imebroBatch & Shell3 Kommentare

Hallo, ich habe zwar hier ein paar Fragen zu Wildcards gefunden. Aber noch nicht so genau meine Lösung. Ich ...

Batch & Shell
Ergänzen einer CSV Datei als letze Spalte mit Teil der Dateiname
Frage von moltitiBatch & Shell11 Kommentare

ich habe ca. 12000 Dateien die im Batch Betrieb ergänzt werden sollen. Der Aufbau der Dateien ist etwa so: ...

Batch & Shell
Namen mehrerer Dateien ergänzen per Batchdatei
Frage von adventureman2Batch & Shell2 Kommentare

Hallo! Ich habe einige hundert GPX-Dateien meines alten GPS-Gerätes auf dem Rechner die mit JJJJMMTT.gpx benannt sind. Das neue ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 6 StundenBatch & Shell7 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 8 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...