Batch - Random Zahl in Variable und Textdatei abspeichern
Ich sitze an einer batch, die u.a. folgende Schritte abarbeiten soll:
1.: Namen einer anderen Batch aus einer Textdatei Text.txt auslesen und in Variable %nameold% speichern
2.: Eine Random Zahl erstellen und in der Variable %name% speichern
3.: Jene andere Batch umbennen in %name%.bat
4.: %name% in Text.txt speichern, dabei alten Inhalt überschreiben (bzw. alte Text.txt löschen und neue anlegen)
Es hakt aber beim zweiten und dritten Schritt.
Ich habe bis jetzt folgenden Code:
::Auslesen in Variable %nameold%
set /p nameold=<Text.txt
::%name% mit Zufallscode
set /a %random%==%name%
::Umbenennen der Datei in \Daten\
rename "F:\Daten\%nameold%.bat" %name%.bat
::löschen und neu anlegen der Text.txt
del /q /f Text.txt
%name% > Text.txt
Er will aber nicht recht die %random% in %name% speichern, wenn man sich %name% per echo %name% anzeigen lässt, kommt ,,Echo ist ausgeschaltet".
Und dadurch, hoffe ich, benennt er auch die andere batch nicht in [Zahl].bat, sondern in .bat um.
Also, meine Frage: Wieso kommt er mit set /a %random% == %name% nicht klar?
Und weiter: Wie kann ich den Laufwerksbuchstaben bestimmen, um ihn im rename verwenden zu können?
1.: Namen einer anderen Batch aus einer Textdatei Text.txt auslesen und in Variable %nameold% speichern
2.: Eine Random Zahl erstellen und in der Variable %name% speichern
3.: Jene andere Batch umbennen in %name%.bat
4.: %name% in Text.txt speichern, dabei alten Inhalt überschreiben (bzw. alte Text.txt löschen und neue anlegen)
Es hakt aber beim zweiten und dritten Schritt.
Ich habe bis jetzt folgenden Code:
::Auslesen in Variable %nameold%
set /p nameold=<Text.txt
::%name% mit Zufallscode
set /a %random%==%name%
::Umbenennen der Datei in \Daten\
rename "F:\Daten\%nameold%.bat" %name%.bat
::löschen und neu anlegen der Text.txt
del /q /f Text.txt
%name% > Text.txt
Er will aber nicht recht die %random% in %name% speichern, wenn man sich %name% per echo %name% anzeigen lässt, kommt ,,Echo ist ausgeschaltet".
Und dadurch, hoffe ich, benennt er auch die andere batch nicht in [Zahl].bat, sondern in .bat um.
Also, meine Frage: Wieso kommt er mit set /a %random% == %name% nicht klar?
Und weiter: Wie kann ich den Laufwerksbuchstaben bestimmen, um ihn im rename verwenden zu können?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245324
Url: https://administrator.de/contentid/245324
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo citroendsvier
Ich habe gerade nicht so viel Zeit und bin nur mit Handy online, aber folgendes ist mir aufgefallen:
Versuche mal stattdessen:
Und anschließend mit %name% weiterarbeiten, darin sollte dann die Zufallszahl gespeichert sein.
Wenn ich daheim bin schau ich nochmal richtig deine Frage an, vlt. hilft das aber schonmal...
Bis dann, schönen Gruß,
narthan
Ich habe gerade nicht so viel Zeit und bin nur mit Handy online, aber folgendes ist mir aufgefallen:
Versuche mal stattdessen:
set /a name=%random%
Und anschließend mit %name% weiterarbeiten, darin sollte dann die Zufallszahl gespeichert sein.
Wenn ich daheim bin schau ich nochmal richtig deine Frage an, vlt. hilft das aber schonmal...
Bis dann, schönen Gruß,
narthan
Hallo,
versuch doch mal
Gruß,
Gersen
versuch doch mal
set /a name=%random%
Gruß,
Gersen