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, 3160 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Debian
Www-data in ein CIFS Share Daten schreiben lassen? (3)

Frage von Jens4ever zum Thema Debian ...

Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Batch & Shell
gelöst 2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben (6)

Frage von sid.pdm zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

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