Mit BatchDatei aus TXT-File lesen und gelesenen Inhalt im nächsten Befehl weiterverwenden (in einer FOR bzw WHILE-Schleife)
Einen schönen guten Abend zusammen,
ich habe mich schon zu dem obigen Thema hier im Forum umgeschaut, aber habe leider bis Dato noch keinen brauchbaren Lösungsansatz bekommen.
Meine Problemstellung:
Ich möchte mit Hilfe einer Batchdatei aus einer Textdatei ab einer gewissen Stelle lesen und den gelesenen Inhalt als Variable abspeichern um ihn für einen weiteren Befehl wiederzuverwenden.
Beispiel für eine Textdatei aus der gelesen werden soll: profiles.txt
Profile auf Schnittstelle WiFi:
Gruppenrichtlinienprofile (schreibgeschützt)
<Kein>
Benutzerprofile* * *
Profil für alle Benutzer : RaspberryPi Nr 1
Profil für alle Benutzer : RaspberryPi Nr 2
Profil für alle Benutzer : RaspberryPi Nr 3
Profil für alle Benutzer : RaspberryPi Nr 4
Anforderung: Ich möchte das aus der Textdatei vorerst nur der Text "RaspberryPi Nr 1" ausgelesen wird. Dieser ausgelesene Text soll dann in einem weiteren Befehl verwendet werden..
Danach soll "RaspberryPi Nr 2" ausgelesen werden und in einem weiteren Befehl verwendet werden.. usw bis die Textdatei Endet.
Natürlich wird bei sowas eine FOR-Schleife verwendet, aber leider habe ich zu wenig Ahnung von der Syntax in Batch-Dateien um mir selbst zu behelfen.
Der ausgelesene String soll dann im folgenden Befehl verwendet werden
Ich hoffe ich konnte das Problem verständlich schildern, ansonsten versuche ich es nochmal.
PSEUDOCODE:
while profiles.txt is not EOF do
{ xyz = "alles nach einem ':' " // in dem Fall -> RaspberryPi Nr x
netsh wlan show profiles xyz
}
Ich wäre sehr dankbar wenn mir jemand weiterhelfen könnte.
Ich wünsche noch einen schönen Abend
Liebe Grüße
ich habe mich schon zu dem obigen Thema hier im Forum umgeschaut, aber habe leider bis Dato noch keinen brauchbaren Lösungsansatz bekommen.
Meine Problemstellung:
Ich möchte mit Hilfe einer Batchdatei aus einer Textdatei ab einer gewissen Stelle lesen und den gelesenen Inhalt als Variable abspeichern um ihn für einen weiteren Befehl wiederzuverwenden.
Beispiel für eine Textdatei aus der gelesen werden soll: profiles.txt
Profile auf Schnittstelle WiFi:
Gruppenrichtlinienprofile (schreibgeschützt)
<Kein>
Benutzerprofile* * *
Profil für alle Benutzer : RaspberryPi Nr 1
Profil für alle Benutzer : RaspberryPi Nr 2
Profil für alle Benutzer : RaspberryPi Nr 3
Profil für alle Benutzer : RaspberryPi Nr 4
Anforderung: Ich möchte das aus der Textdatei vorerst nur der Text "RaspberryPi Nr 1" ausgelesen wird. Dieser ausgelesene Text soll dann in einem weiteren Befehl verwendet werden..
Danach soll "RaspberryPi Nr 2" ausgelesen werden und in einem weiteren Befehl verwendet werden.. usw bis die Textdatei Endet.
Natürlich wird bei sowas eine FOR-Schleife verwendet, aber leider habe ich zu wenig Ahnung von der Syntax in Batch-Dateien um mir selbst zu behelfen.
Der ausgelesene String soll dann im folgenden Befehl verwendet werden
netsh wlan show profiles "RaspberryPi Nr 1"
Ich hoffe ich konnte das Problem verständlich schildern, ansonsten versuche ich es nochmal.
PSEUDOCODE:
while profiles.txt is not EOF do
{ xyz = "alles nach einem ':' " // in dem Fall -> RaspberryPi Nr x
netsh wlan show profiles xyz
}
Ich wäre sehr dankbar wenn mir jemand weiterhelfen könnte.
Ich wünsche noch einen schönen Abend
Liebe Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 307739
Url: https://administrator.de/forum/mit-batchdatei-aus-txt-file-lesen-und-gelesenen-inhalt-im-naechsten-befehl-weiterverwenden-in-einer-for-bzw-307739.html
Ausgedruckt am: 29.04.2025 um 16:04 Uhr
9 Kommentare
Neuester Kommentar

Hi.
Regards
@echo off
for /f "tokens=2 delims=:" %%a in ('findstr /ic:"Profil für alle Benutzer" "c:\textdatei.txt"') do netsh wlan show profiles name="%%a"

->"%%a" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
The above code is for usage inside a batch file! If you want to use it directly on the cmd-shell you need to replace all %%a by %a.
Sure we can do that ...
Regards
@echo off & setlocal enabledelayedexpansion
for /f "tokens=2 delims=:" %%a in ('findstr /ic:"alle Benutzer" "c:\profiles.txt"') do (
set "profilename=%%a"
set "profilename=!profilename:~1!"
netsh wlan show profiles name="!profilename!"
)

Hi,
you don't need to write the output of the show profiles command into an extra textfile, you can pipe the output to findstr directly in the for-loop:
you don't need to write the output of the show profiles command into an extra textfile, you can pipe the output to findstr directly in the for-loop:
for /f "tokens=2 delims=:" %%a in ('netsh wlan show profiles ^| findstr /ic:"alle Benutzer"') do (