Batch, textdatei zeile für zeile auslesen und in variable schreiben
Hallo,
Meine batch soll eine art Script einlesen, dieses Skript soll in einer textdatei liegen! Es soll zeile für zeile lesen und jede zeile in die gleiche variable schreiben, Zeile1 kommt z.b. in Variable A dann soll es schauen was variable A ist und je nach dem zu nem punkt in der batch springen oder etwas bestimmtes tun! Dann soll es die nächste zeile einlesen! Das einlesen ist die grundlage! Deswegen habe ich noch nichts geschrieben! Mein problem ist das einlesen! Ich habe es mit ner for schleife versucht aber das geht nicht ganz, und die ganzen ergebnisse bei google oder hier im forum haben mir auch nicht wirklich weiter geholfen! Deswegen frage ich nochmal nach!
Achja wenn ich schonmal frage... ist es möglich mit "Dir" alle dateien von nem gewissen zeitraum aufzulisten zb. die letzten 4 monate also alles was geändert oder neu erstellt wurde aufzulisten? Oder soll ich für diese frage einen neuen Threat eröffnen?
Danke schonmal im vorraus,
MFG d3luxe
Meine batch soll eine art Script einlesen, dieses Skript soll in einer textdatei liegen! Es soll zeile für zeile lesen und jede zeile in die gleiche variable schreiben, Zeile1 kommt z.b. in Variable A dann soll es schauen was variable A ist und je nach dem zu nem punkt in der batch springen oder etwas bestimmtes tun! Dann soll es die nächste zeile einlesen! Das einlesen ist die grundlage! Deswegen habe ich noch nichts geschrieben! Mein problem ist das einlesen! Ich habe es mit ner for schleife versucht aber das geht nicht ganz, und die ganzen ergebnisse bei google oder hier im forum haben mir auch nicht wirklich weiter geholfen! Deswegen frage ich nochmal nach!
Achja wenn ich schonmal frage... ist es möglich mit "Dir" alle dateien von nem gewissen zeitraum aufzulisten zb. die letzten 4 monate also alles was geändert oder neu erstellt wurde aufzulisten? Oder soll ich für diese frage einen neuen Threat eröffnen?
Danke schonmal im vorraus,
MFG d3luxe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 111680
Url: https://administrator.de/contentid/111680
Ausgedruckt am: 26.11.2024 um 16:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo d3luxe!
Schematisch etwa so:
Grüße
bastla
Schematisch etwa so:
@echo off & setlocal
for /f "usebackq delims=" %%i in ("D:\Dein Text.txt") do "set A=%%i" & call :ProcessLine
goto :eof
:ProcessLine
echo Gelesene Zeile: %A%
::Auswertung hier
if /i "%A%"=="Start" goto :Start
::
::weitere Auswertungen
::
::zurück zum Hauptprogramm
goto :eof
:Start
echo Die Zeile lautet: "Start"
::was noch so anliegt ...
goto :eof
bastla
Hallo 3dluxe!
Wenn Du die einzelnen Zeilen eindeutig zuordenbar machst, kannst Du mit "findstr" die gerade benötigten herausfiltern, zB
Zum Auslesen könntest Du dann eine Schleife dieser Art verwenden:
Anmerkung: Da die ausgeführte Batchdatei als Parameter %0 zur Verfügung steht, kannst Du mit "%~dp0" (siehe gegen Ende der Hilfe "for /?") Laufwerk und Pfad des Batches ermitteln und so die im selben Ordner liegende "Script.txt" finden.
Grüße
bastla
Wenn Du die einzelnen Zeilen eindeutig zuordenbar machst, kannst Du mit "findstr" die gerade benötigten herausfiltern, zB
killprocess:Prozess1
killprocess:Prozess2
killprocess:Prozess3
deldata:D:\Eine Datei.txt
deldata:D:\Eine weitere Datei.txt
deldata:D:\Noch eine Datei.txt
@echo off & setlocal
for %%i in (killprocess deldata delreg) do (
for /f "tokens=1* delims=:" %%a in ('findstr /b "%%i:" "%~dp0\Script.txt"') do call :%%i "%%b"
)
goto :eof
:killprocess
echo Prozess %1 beenden ...
::
::
goto :eof
:deldata
echo Loesche %1 ...
::
::
goto :eof
:delreg
echo Entferne RegKey %1
::
::
goto :eof
Grüße
bastla