bonanza
Goto Top

Batch erstellen der string aus einer textdatei in Variable speichert

Hallo allerseits,

ich möchte aus einer Textdatei (nummer.txt), einen string (also die enthaltene Nummer) in eine Variable speichern.

Danach soll der Inhalt dieser Variablen den Dateinamen einer pdf-Datei ersetzen.

zB. Textdateiinhalt: 0815
alter PDF Dateiname: Falsch.pdf

mein Wunsch: 0815.pdf

Da ich nicht sehr firm in Shell Programmierung bin, hoffe ich auf eure Hilfe.

Danke schon mal

Bonanza

Content-Key: 42580

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

Printed on: April 18, 2024 at 16:04 o'clock

Member: miniversum
miniversum Oct 19, 2006 at 12:57:57 (UTC)
Goto Top
Versuchs mal so:

Set /P Dateiname<nummer.txt
ren Falsch.pdf %Dateiname%.pdf

miniversum
Member: Bonanza
Bonanza Oct 19, 2006 at 13:08:33 (UTC)
Goto Top
Hmm, meine neue Datei besitzt jetzt nur noch die Dateiendung...

erst falsch.pdf --> .pdf

Nachtrag:

Im Textdokument befindet sich eine Nummernfolge.
Keine Ahnung ob das wichtig ist,
wird eh alles in Variable gespeichert??!

Gruß
Bonanza
Member: miniversum
miniversum Oct 19, 2006 at 13:18:55 (UTC)
Goto Top
achso doch ist richtig!
poste doch mal wie die nummer.txt-Datei aussieht.

miniversum
Member: Bonanza
Bonanza Oct 19, 2006 at 13:22:10 (UTC)
Goto Top
Die ist variabel....

zB. "0034567" , "9346000012"

(es steht nur eine Nummernfolge in der Datei!!!)


sowas in der Richtung...


Bis dann
Bonanza
Member: miniversum
miniversum Oct 19, 2006 at 13:31:43 (UTC)
Goto Top
Und es soll immer die erste Nummer benutzt werden? Oder welche?

miniversum
Member: Bonanza
Bonanza Oct 19, 2006 at 13:39:12 (UTC)
Goto Top
nein komplette Nummernfolge

Gruß
Member: miniversum
miniversum Oct 19, 2006 at 13:44:00 (UTC)
Goto Top
Und gibt es auch eine Liste der Orginalnamen der PDF dDateien die umbenant werden sollen oder einfach alle im Verzeichnis irgentwie umbenennen oder in einer bestimmten Reihenfolge oder wie?

miniversum
Member: Bonanza
Bonanza Oct 19, 2006 at 13:46:55 (UTC)
Goto Top
Stop, die einzige Zahlenfolge soll nur in Variable gespeichert werden...

das ist alles


Gruß
Bonanza
Member: Biber
Biber Oct 19, 2006 at 13:50:38 (UTC)
Goto Top
Moin Bonanza & miniversum,

@miniversum
Tippfehler:
Buggy: Set /P Dateiname<nummer.txt
Besser: Set /P Dateiname=<nummer.txt

Dann würde es tun.

Aber, @Bonanza:
Diese Mimik erleichtert Dir das Leben ja nicht wirklich.
Ich würde eher eine Textdate mit zwei Spalten empfehlen (jetziger Pfad+Dateiname;neuer Dateiname).
Wie auch immer Du zu den alten/neuen Namen kommst - am sinnvollsten vielleicht in Excel/OpenOffice oder irgendetwas anderes, was mit Zeile und Spalten umgehen kann.

Eine von Excel erzeugte *.csv-Datei kannst Du dann mit einer FOR /F..IN (cvsdatei) DO-Anweisung abarbeiten.
Und eine Dokumentation der Umbenennungen hast Du dann auch.

Gruß
Biber
Member: miniversum
miniversum Oct 19, 2006 at 13:51:35 (UTC)
Goto Top
Dann versuchs mal so:

FOR /F "tokens=1* delims=, " %%a in (nummer.txt) do Set Var1=%%a & Set Var2=%%b & Set Var3=%%c

echo ausgelesen:
echo %Var1%
echo %Var2%
echo %Var3%

Eventuell halt noch anpassen.

miniversum
Member: Bonanza
Bonanza Oct 20, 2006 at 06:31:14 (UTC)
Goto Top
Danke für die Hilfe,

Klappt mal fürs Erste...


Gruß
Bonanza