michael1709
Goto Top

Textdateien mit korrespondierenden Dateinamen erzeugen

Hallo,

in meiner Firma werden wöchentlich mehrere PDF-Dokumente erzeugt und in einem Ordner abgelegt. Der Ordner entspricht der jeweils richtigen Kalenderwoche.
Ich würde nun gerne passend zur PDF-Datei eine entsprechende Text-Datei anlegen, damit die Mitarbeiter Ihre Kommentare zur PDF-Datei in der Text-Datei hinterlassen können. Das sollte dann also wie folgt aussehen.

Werbung_KW18_Seite01_Titel.pdf
Werbung_KW18_Seite01_Titel.txt
Werbung_KW18_Seite02_Frische.pdf
Werbung_KW18_Seite02_Frische.txt
Werbung_KW18_Seite03_Getränke.pdf
Werbung_KW18_Seite03_Getränke.txt
Werbung_KW18_Seite04_Textil.pdf
Werbung_KW18_Seite04_Textil.txt
Werbung_KW18_Seite05_Drogerie.pdf
Werbung_KW18_Seite05_Drogerie.txt
Werbung_KW18_Seite06_Lebensmittel.pdf
Werbung_KW18_Seite06_Lebensmittel.txt
pdf
txt
Werbung_KW18_Seite24_Elektro.pdf
Werbung_KW18_Seite24_Elektro.txt

Hat jemand ne Idee, wie das mit wenig Aufwand zu bewerkstelligen ist?

Gruß
-Michael

Content-Key: 56259

Url: https://administrator.de/contentid/56259

Printed on: April 24, 2024 at 01:04 o'clock

Member: Biber
Biber Apr 10, 2007 at 14:23:30 (UTC)
Goto Top
Moin Michael,

ich würde das ja eher mit einer halben Zeile vom CMD-Prompt aus machen, aber Du meinst jetzt irgendeinen Weg über den Explorer, wenn ich Dich richtig verstehe?

Grüsse
Biber
Mitglied: 46503
46503 Apr 10, 2007 at 14:28:08 (UTC)
Goto Top
> mit einer halben Zeile ..

Und wo lässt du die andere Hälfte? face-big-smile
Member: Biber
Biber Apr 10, 2007 at 14:37:21 (UTC)
Goto Top
...mit der anderen Hälfte kann ich doch noch hungernde Witwen in Leverkusen oder Flutopfer im Taunus glücklich machen.

Ich würde es jedenfalls vom CMD-Prompt aus oder meinetwegen auch als Batch (=="eine Zeile im Stapel"*gg) abfackeln.
Also z.B. so am CMD-Prompt:
for /r %i in (*.pdf) do @if not exist %~dpni.txt echo Biber was here>%~dpni.txt

Abba wenn es mit einem halben Explorer besser geht Eurer Meinung nach.... *püüüh...*schmoll

Grüße (außer an hpdnm) face-wink
Biber
[Edit] Ausserdem hat hpdnm vorhin erst gepostet:
>"256 Zeichen sind etwas viel, ein paar weniger (so um die 50) täten es m. E. auch.
> Ich mag auch keine Romane. "[/Edit]
Member: Michael1709
Michael1709 Apr 10, 2007 at 14:39:02 (UTC)
Goto Top
Hi Biber,

CMD-Prompt ist absolut ok! Wie geht die halbe Zeile? face-smile

Gruß
-Michael
Mitglied: 46503
46503 Apr 10, 2007 at 14:48:34 (UTC)
Goto Top
>*püüüh...*schmoll

Willste aufn Arm? face-smile
Member: Michael1709
Michael1709 Apr 10, 2007 at 16:37:35 (UTC)
Goto Top
Hi Biber,

also mit dem Bereich (for, do, usw.) kenne ich mich echt nicht aus.
for /r %i in (*.pdf) do @if not exist %~dpni.txt echo Biber was here>%~dpni.txt 
Wenn ich diese Zeile (genau so) in eine bat schreibe und im Ordner mit PDF-Dateien starte, passiert nix.

Folgende Meldung im DOS-Fenster:
Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters ist ungültig: %~dpni.txt

Geben Sie CALL /? oder FOR /? ein, um herauszufinden, welche Formate gültig sind.
"ErzTxt.bat" ist syntaktisch an dieser Stelle nicht verarbeitbar. (ErzTxt.bat = Name der Batchdatei)

Gruß
-Michael
Mitglied: 46503
46503 Apr 10, 2007 at 16:51:42 (UTC)
Goto Top
Ich bin nicht für fertige Lösungen, sondern für Hilfe zur Selbsthilfe. face-wink

Windows-Hilfe > FOR, aufmerksam lesen. face-wink Vielleicht geht dir ein Licht auf. Wenn nicht, kannst du ja nochmal posten.
Member: Biber
Biber Apr 10, 2007 at 16:56:51 (UTC)
Goto Top
Moin Michael1709,

im Batch müssen jeweils zwei Prozentzeichen (statt einem Prozentzeichen vom CMD-Prompt) vor den Zählvariablen stehen.

Also:
::---snipp CreateShadowTxtFiles.bat
@for /r %%i in (*.pdf) do @if not exist %%~dpni.txt echo Biber was here>%%~dpni.txt 
::---snapp CreateShadowTxtFiles.bat
[Zum Copy & Pasten]

Als i-Tüpfelchen könntest Du noch den Startpfad, unter dem alle .pdfs liegen, angeben:
@for /r <b>d:\workdirUnsererKünstler</b> %%i in (*.pdf)....

Gruss Biber
Member: Michael1709
Michael1709 Apr 10, 2007 at 19:07:36 (UTC)
Goto Top
Hi Biber,

jetzt klappt es.
Dein Vorschlag löst meine Aufgabe zu 100%.

Danke!

Gruß
-Michael