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-ID: 42580

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

Ausgedruckt am: 25.11.2024 um 07:11 Uhr

miniversum
miniversum 19.10.2006 um 14:57:57 Uhr
Goto Top
Versuchs mal so:

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

miniversum
Bonanza
Bonanza 19.10.2006 um 15:08:33 Uhr
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
miniversum
miniversum 19.10.2006 um 15:18:55 Uhr
Goto Top
achso doch ist richtig!
poste doch mal wie die nummer.txt-Datei aussieht.

miniversum
Bonanza
Bonanza 19.10.2006 um 15:22:10 Uhr
Goto Top
Die ist variabel....

zB. "0034567" , "9346000012"

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


sowas in der Richtung...


Bis dann
Bonanza
miniversum
miniversum 19.10.2006 um 15:31:43 Uhr
Goto Top
Und es soll immer die erste Nummer benutzt werden? Oder welche?

miniversum
Bonanza
Bonanza 19.10.2006 um 15:39:12 Uhr
Goto Top
nein komplette Nummernfolge

Gruß
miniversum
miniversum 19.10.2006 um 15:44:00 Uhr
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
Bonanza
Bonanza 19.10.2006 um 15:46:55 Uhr
Goto Top
Stop, die einzige Zahlenfolge soll nur in Variable gespeichert werden...

das ist alles


Gruß
Bonanza
Biber
Biber 19.10.2006 um 15:50:38 Uhr
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
miniversum
miniversum 19.10.2006 um 15:51:35 Uhr
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
Bonanza
Bonanza 20.10.2006 um 08:31:14 Uhr
Goto Top
Danke für die Hilfe,

Klappt mal fürs Erste...


Gruß
Bonanza