joe2017
Goto Top

Zeichenfolge in TXT suchen und alle gefundenen Zeilen in einzelne Variablen speichern

Hallo Zusammen,

ich habe folgende .txt Datei.
computername1 benutzer1 Passwort1
computername2 benutzer2 Passwort2
computername2 benutzer3 Passwort3
computername3 benutzer4 Passwort4
computername3 benutzer5 Passwort5
computername3 benutzer6 Passwort6

Wenn ich mit meinem aktuellen Befehl in dieser Datei nach einer Zeichenfolge (Computername3) suche und die einzelnen mit TAB getrennten Zeichenfolgen in Variablen schreibe erhalte ich immer nur das zuletzt gefundene Ergebnis. Ist eigentlich auch logisch. Wie muss ich den Befehl ändern um aller gefundenen Ergebnisse in Variablen zu erhalten. Evtl. geht das mit einer Schleife.

set path=d:\test
set computername="computername3"
for /f "tokens=1-3" %%i in ('findstr "%computername%" %path%\var.txt') do (
set computername=%%i
set user=%%j
set pw=%%k
)

echo %computername% = computername3
echo %user% = benutzer6
echo %pw% = Passwort6

Ich benötige jedoch alle drei Ergebnisse.
computername3 benutzer4 Passwort4
computername3 benutzer5 Passwort5
computername3 benutzer6 Passwort6

Kann mir hierbei jemand weiterhelfen? Vielen Dank!

Content-Key: 284350

Url: https://administrator.de/contentid/284350

Printed on: April 24, 2024 at 19:04 o'clock

Member: colinardo
Solution colinardo Oct 01, 2015 updated at 14:39:09 (UTC)
Goto Top
Hallo SauerJochen,
machst du z.B. so
@echo off & setlocal enabledelayedexpansion
set "mypath=d:\test"  
set "search=computername3"  
for /f "tokens=1-3" %%a in ('findstr /ic:"%search%" "%mypath%\var.txt"') do @(  
   set "cname=%%a"  
   set "user=%%b"  
   set "pw=%%c"  
   echo Computername: !cname! 
   echo User: !user! 
   echo Password: !pw!
)
oder Powershell
Select-String -Path 'D:\test\var.txt' -Pattern 'computername3' -SimpleMatch | select -Expand Line  
Grüße Uwe
Member: joe2017
joe2017 Oct 01, 2015 at 14:40:25 (UTC)
Goto Top
Hallo colinardo,

vielen Dank. Das hat bestens funktioniert. TOP!