Programmieren - alles kontrollieren 4.939 Themen, 20.671 Beiträge

Einfache Frage an die Batch-Profis...

AH966 / 7 Antworten / Flachansicht Nickles

Hallo!

Ich hab schon die ganze Zeit rumgesucht, aber nix gefunden - evtl. geht's auch gar nicht...

Ich habe in einer Textdatei ("name.txt") einen Eintrag, den ich als Dateinamen verwenden will.

Der Befehl in der Batchdatei zum Umbenennen sieht folgendermaßen aus:
ren %1
...%1 steht für die umzubenennende Datei...

Bei obigem ren-Befehl krieg ich allerdings immer 'n Syntaxfehler. Auch ein copy funktioniert nicht.

Wie kann ich einen Eintrag aus einer Datei in eine Variable speichern??
Denn dann könnte ich ja folgendermaßen vorgehen:

SET neuername = type name.txt???
ren %1 %neuername%

Ist mein Problem verständlich? Der neue Name wird jedesmal generiert und in name.txt abgespeichert. Und diesen Eintrag will ich entweder in einer Variablen speichern oder gleich im "ren"-Befehl benutzen...

Gruß,AndreasDer Pfad der Gerechten ist zu beiden Seiten gesäumt mit den Freveleien der Selbstsüchtigen und der Tyrannei böser Männer...
bei Antwort benachrichtigen
mr.escape AH966 „Einfache Frage an die Batch-Profis...“
Optionen

Der for befehl könnte da helfen:
FOR /F "eol=;" %%i IN ('style="color:red">type name.txt') DO @echo ren %1 "%%i"
Wichtig sind die roten bereiche (echo weglassen, vorne die einfachen hochkommata verwenden und hinten die doppelten)! Es sollte nur eine nicht-leere zeile in der datei vorhanden sein (leere zeilen werden ignoriert) oder wenigstens in der letzten der gewünschte name stehen.

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen