Text mit leerstelle übernehmen
Hallo zusammen,
Ich versuche ein kleines batchfile zu schreiben. Habe schon das ganze Forum durchstöbert aber komm im moment einfach nicht weiter:
Hier mal das was ich dank des Forums bisher hinbekommen habe:
Pause, damit ich sehe was passierst ist 
Mit dem Befehl wird ja die 3. zeile der .ini ausgelesen. Nun bekomm ich es aber nicht hin, dass diese Zeile (z.B Name Vorname) mit der Leerstelle in eine Variable übernommen wird, um diese dann über den NetSend auszugeben
wenn ich am Ende noch do @set var=%%i mache, geschiet nichts, hatte es schon mal so änhlich dann wurde aber nur der Name ausgegeb ohne Vorname.
Ich hoffe ihr versteht was ich brauche und könnt mir weiter helfen.....
Im voraus schon mal vielen Dank
Mfg Tobias
________________________________________________
Kann nich atnworten darum hier als edit.....
Danke für die gute Antwort, hab deines mit eingebaut und noch n bisse lwas hinzugefügt, dass die Leerstelle mitgenommen wird..... Nun hab ich aber wider ein Prob, ich brauch noch ein 2. Feld
for /f "tokens=1,* delims=:" %%i in ('findstr /n $ h:\Datei.ini^|findstr /b "3: 6:" ') do set "var=%%j"
sc config messenger start= auto
net start Nachrichtendienst
set userlist=x y t
set sMsgText=%var% abcde
for %%a in (%userlist%) do net send %%a %sMsgText%
pause
Das läuft soweit aber wenn ich die stelle 6 (siehe oben) noch mitauslesen weill, gibt er mir nur die Zeile 6 aus ohne Zeile 3...... aber in cmd seh ich, dass er beides ausliest.
Was mach ich jetzt schon wider falsch.....
vorab nochmals danke für kommende Hilfe
Mfg Tobi
Erledigt
[Edit Biber] Codetags spendiert [/Edit]
Ich versuche ein kleines batchfile zu schreiben. Habe schon das ganze Forum durchstöbert aber komm im moment einfach nicht weiter:
Hier mal das was ich dank des Forums bisher hinbekommen habe:
for /f "tokens=1,* delims=:" %%i in ('findstr /n $ h:\Datei.ini') do @(
for /L %%a in (3,1,3) do @if %%i==%%a @echo %%j)
net send %domäne% %var% xyz
pause
Mit dem Befehl wird ja die 3. zeile der .ini ausgelesen. Nun bekomm ich es aber nicht hin, dass diese Zeile (z.B Name Vorname) mit der Leerstelle in eine Variable übernommen wird, um diese dann über den NetSend auszugeben
wenn ich am Ende noch do @set var=%%i mache, geschiet nichts, hatte es schon mal so änhlich dann wurde aber nur der Name ausgegeb ohne Vorname.
Ich hoffe ihr versteht was ich brauche und könnt mir weiter helfen.....
Im voraus schon mal vielen Dank
Mfg Tobias
________________________________________________
Kann nich atnworten darum hier als edit.....
Danke für die gute Antwort, hab deines mit eingebaut und noch n bisse lwas hinzugefügt, dass die Leerstelle mitgenommen wird..... Nun hab ich aber wider ein Prob, ich brauch noch ein 2. Feld
for /f "tokens=1,* delims=:" %%i in ('findstr /n $ h:\Datei.ini^|findstr /b "3: 6:" ') do set "var=%%j"
sc config messenger start= auto
net start Nachrichtendienst
set userlist=x y t
set sMsgText=%var% abcde
for %%a in (%userlist%) do net send %%a %sMsgText%
pause
Das läuft soweit aber wenn ich die stelle 6 (siehe oben) noch mitauslesen weill, gibt er mir nur die Zeile 6 aus ohne Zeile 3...... aber in cmd seh ich, dass er beides ausliest.
Was mach ich jetzt schon wider falsch.....
vorab nochmals danke für kommende Hilfe
Mfg Tobi
Erledigt
[Edit Biber] Codetags spendiert [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 130865
Url: https://administrator.de/forum/text-mit-leerstelle-uebernehmen-130865.html
Ausgedruckt am: 24.05.2025 um 10:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo Aikal112!
Wenn Du mehrere Zeilen auf die gleiche Art verarbeiten willst, musst Du dies innerhalb der Schleife machen - in der obigen Version wird, da es ja nur eine Variable gibt, der Wert der Zeile 3 durch den Wert der Zeile 6 überschrieben.
Versuch es damit:
Grüße
bastla
Wenn Du mehrere Zeilen auf die gleiche Art verarbeiten willst, musst Du dies innerhalb der Schleife machen - in der obigen Version wird, da es ja nur eine Variable gibt, der Wert der Zeile 3 durch den Wert der Zeile 6 überschrieben.
Versuch es damit:
set "userlist=x y t"
set "sMsgText=abcde"
for /f "tokens=1,* delims=:" %%i in ('findstr /n $ h:\Datei.ini^|findstr /b "3: 6:" ') do (
sc config messenger start= auto
net start Nachrichtendienst
for %%a in (%userlist%) do net send %%a %%j %sMsgText%
)
pause
bastla