Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Daten aus txt sequenziel in eine Batchvariable schreiben

Frage Entwicklung Batch & Shell

Mitglied: TimoWH

TimoWH (Level 1) - Jetzt verbinden

13.03.2009, aktualisiert 10:44 Uhr, 3170 Aufrufe, 5 Kommentare

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!
Mitglied: miniversum
13.03.2009 um 12:38 Uhr
Zu Frage 1: Das geht mit dem For-Befehl:
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.
Bitte warten ..
Mitglied: TimoWH
13.03.2009 um 13:33 Uhr
Hallo miniversum,

danke für Deine Hilfe. Auslesen tut er mit die Datei nun. Aber wie muss ich die schleife schreiben damit er mir pro durchgang nur eine variable füllt die ich verwenden kann? Hier mal der Ablauf des Scripts wie es sein soll:

Script startet
Wert1 aus Datei log.txt wird in variable PNr geschrieben
Variable PNr wird verwendet um einträge in die Registry zu schreiben
Script springt wieder zum Anfang der Schleife
Wert2 aus Datei log.txt wird in variable PNr geschrieben
Variable PNr wird verwendet um einträge in die Registry zu schreiben
Script springt wieder zum Anfang der Schleife
Wert3 aus Datei log.txt wird in variable PNr geschrieben
Variable PNr wird verwendet um einträge in die Registry zu schreiben
usw.

Das Script müsste dann im Prinzip auch erkennen wann keine Werte mehr in der Datei vorhanden sind. Also müsste nach Wert 5 die Schleife zu Ende sein. Ich hoffe Ihr könnt mir helfen.
Bitte warten ..
Mitglied: miniversum
13.03.2009 um 18:07 Uhr
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.
Bitte warten ..
Mitglied: TimoWH
16.03.2009 um 09:23 Uhr
Super, vielen Dank für Eure Hilfe. Klappt auch alles soweit. Nur ein Problem habe ich noch. Wie schaffe ich es in einer Schleife zwei Dateien auslesen zu lassen?

Ich habe zwei Dateien mit Werten.

Datei1.txt (Wert1, Wert2, Wert3)
Datei2.txt (eins, zwei, drei)

Beim ersten durchgang soll er "Wert1" aus Datei1.txt in Variable %A% und "eins" aus Datei2.txt in Variable %B% schreiben. Dann soll er mir ein registry Wert erzeugen:

reg add HKLM\SOFTWARE\POPcon\POP3\%A% /v Server /d %B%

Nach dem erzeugen soll er Wert2 und zwei auslesen und zuweisen.

Ist das überhaupt möglich?
Bitte warten ..
Mitglied: miniversum
16.03.2009 um 14:41 Uhr
Klar geht das.
Versuchs mal so (ungetestet):
01.
@echo off 
02.
set "Datei1=Datei1.txt" 
03.
set "Datei2=Datei2.txt" 
04.
FOR /F "tokens=1* delims=:" %%i in ('findstr /N .* "%Datei1%"') do ( 
05.
FOR /F "tokens=1* delims=:" %%a in ('findstr /N .* "%Datei2%"^|findstr /B "%%i:"') do ( 
06.
ECHO reg add HKLM\SOFTWARE\POPcon\POP3\%%j /v Server /d %%b 
07.
08.
)
Das ECHO steht zum testen drin. So wird angezeigt was wirklich geschieht. Past das so kannst dud as ECHO entfernen.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Größe einer Datei per BATCH in eine TXT schreiben (5)

Frage von marvinpl zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch in ausgewählte oder vorgeschriebene Zeile einer .txt schreiben (6)

Frage von pdiddo zum Thema Batch & Shell ...

Batch & Shell
Daten aus dem Feld "date sent" in den Titel schreiben (2)

Frage von ellocko94 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...