Daten aus txt sequenziel in eine Batchvariable schreiben
Hey@ all,
leider habe ich in der Forumssuche nichts passendes gefunden. Wie muss der Quellcode aussehen damit ich aus einer Textdatei in der mehrere Textwerte untereinander stehen jede Zeile nacheinander auslesen kann?
Das Script soll beim ersten durchlauf in die Variable PNr den "Wert1" beim zweiten durchlauf "Wert2" und beim dritten durchlauf "Wert3" usw. schreiben?
set "NrDatei=.\textdatei.txt"
set /p PNr=<"%NrDatei%"
textdatei.txt:
Wert1
Wert2
Wert3
Wert4
Wert5
Frage2
Ist es möglich aus der registry ein DWORD Wert in Dezimal auszulesen und um eins zu erhöhen? Mit reg query bekomme ich es nicht hin den Dezimalwert abzufragen er zeigt immer nur den Hexadezimal Wert. Oder gibt es eine Möglichkeit einen Hexadezimalwert um eins zu erhöhen?
Vielen Dank für Eure Hilfe!
leider habe ich in der Forumssuche nichts passendes gefunden. Wie muss der Quellcode aussehen damit ich aus einer Textdatei in der mehrere Textwerte untereinander stehen jede Zeile nacheinander auslesen kann?
Das Script soll beim ersten durchlauf in die Variable PNr den "Wert1" beim zweiten durchlauf "Wert2" und beim dritten durchlauf "Wert3" usw. schreiben?
set "NrDatei=.\textdatei.txt"
set /p PNr=<"%NrDatei%"
textdatei.txt:
Wert1
Wert2
Wert3
Wert4
Wert5
Frage2
Ist es möglich aus der registry ein DWORD Wert in Dezimal auszulesen und um eins zu erhöhen? Mit reg query bekomme ich es nicht hin den Dezimalwert abzufragen er zeigt immer nur den Hexadezimal Wert. Oder gibt es eine Möglichkeit einen Hexadezimalwert um eins zu erhöhen?
Vielen Dank für Eure Hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 111318
Url: https://administrator.de/forum/daten-aus-txt-sequenziel-in-eine-batchvariable-schreiben-111318.html
Ausgedruckt am: 23.04.2025 um 05:04 Uhr
5 Kommentare
Neuester Kommentar
Zu Frage 1: Das geht mit dem For-Befehl:
Habs zwar nicht ausprobiert aber schau mal in der Hilfe zum Set Befehl, genauer bei der Option /a. Dort kan man auch mit HEX Werten rechnen.
Ansonsten müßtest du die Hexwerte halt in der batch in dezimale umrechnen.
FOR /F "delims=" %%i in (Datei.txt) do set PNr=%%i
zu Frage 2:Habs zwar nicht ausprobiert aber schau mal in der Hilfe zum Set Befehl, genauer bei der Option /a. Dort kan man auch mit HEX Werten rechnen.
Ansonsten müßtest du die Hexwerte halt in der batch in dezimale umrechnen.
Da brauchst dude Variable dan eigentlich nicht weil du das %%i dan statt dessennehmen kannst:
FOR /F "delims=" %%i in (Datei.txt) do (
echo hier der Befehl der %%i in die Registry schreibt
echo hier noch weitere Befehle die %%i in die Registry schreibt
)
Die Schleife verarbeitet dann so jede Zeile bis zum Ende der datei.
FOR /F "delims=" %%i in (Datei.txt) do (
echo hier der Befehl der %%i in die Registry schreibt
echo hier noch weitere Befehle die %%i in die Registry schreibt
)
Die Schleife verarbeitet dann so jede Zeile bis zum Ende der datei.
Klar geht das.
Versuchs mal so (ungetestet):
Das ECHO steht zum testen drin. So wird angezeigt was wirklich geschieht. Past das so kannst dud as ECHO entfernen.
Versuchs mal so (ungetestet):
@echo off
set "Datei1=Datei1.txt"
set "Datei2=Datei2.txt"
FOR /F "tokens=1* delims=:" %%i in ('findstr /N .* "%Datei1%"') do (
FOR /F "tokens=1* delims=:" %%a in ('findstr /N .* "%Datei2%"^|findstr /B "%%i:"') do (
ECHO reg add HKLM\SOFTWARE\POPcon\POP3\%%j /v Server /d %%b
)
)