flash-gordon
Goto Top

Batch / 2 Variablen hintereinander zusammenfügen

MS Server 2k3

Hallo zusammen,

eigentlich dacht ich, dass mir ne fixe google Suche sofort weiterhelfen müsste.

ABER -IRRTUM!

Also...ich möchte einfach nur 2 variablen a la %VAR1% und %var2% hinterienander nutzen.

mein anfang:

@ECHO off
del *.txt
SET ips=servers.lst
SET serverip=ip_server.lst


FOR /f %%i IN ('TYPE "%ipserver%%ips%"') DO (  

geht aber nicht. Hab schon & probiert, geht aber auch nicht.

Mit nur einer VAR läuft das Sript einwandfrei!

HELP & thx

Content-Key: 49754

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

Printed on: April 25, 2024 at 09:04 o'clock

Member: bastla
bastla Jan 24, 2007 at 20:11:12 (UTC)
Goto Top
Hallo flash-gordon!

Kannst Du "geht aber nicht" ev auch anders formulieren?

Lass einmal das "@echo off" weg und schau Dir an, was die "for"-Zeile so macht. Und, nur zur Sicherheit, in %ipserver% steht schon ein Wert (vorzugsweise mit "\" am Ende)?

Grüße
bastla
Member: flash-gordon
flash-gordon Jan 24, 2007 at 20:17:42 (UTC)
Goto Top
hier mal das ganze Script:

@ECHO off
del *.txt
SET ips=servers.lst
SET serverip=ip_server.lst


FOR /f %%i IN ('TYPE "%serverip%%ips%"') DO (  
ping -n 1 -w 200 %%i | find /i "TTL=" && (@echo %%i>>online.txt) || (@echo %%i>>offline.txt)  
)
exit

in servers.lst stehen 31, 31, 32, 33, 34....ect bis 150
und in steht 10.100.0.

Meldung nach
@ECHO off
del *.txt
SET ips=servers.lst
SET serverip=ip_server.lst
"system cannot find the dile specific"
Member: bastla
bastla Jan 24, 2007 at 20:34:08 (UTC)
Goto Top
Hallo flash-gordon!

TYPE dient zum Anzeigen von Dateiinhalten (daher auch meine Frage nach dem "\") - wenn die beiden Variablen zusammen den Pfad/Namen einer Textdatei ergäben, würde diese zeilenweise ausgelesen - ist hier nicht der Fall, daher ist eine andere Vorgehensweise gefragt.

Vorweg: Ich nehme an, Du meintest oben: "und in ip_server.lst steht 10.100.0."
Falls ja, könntest Du mit
set /p serverip=<ip_server.lst
den Inhalt dieser Datei der Variablen %serverip% zuweisen. Weiter ginge es dann zB so:
FOR /f %%i IN ('TYPE "%ips%"') DO (  
ping -n 1 -w 200 %serverip%%%i | find /i "TTL=" && (@echo %serverip%%%i>>online.txt) || (@echo %serverip%%%i>>offline.txt)  
)

Grüße
bastla
Member: flash-gordon
flash-gordon Jan 24, 2007 at 20:49:37 (UTC)
Goto Top
Hallo flash-gordon!

TYPE dient zum Anzeigen von Dateiinhalten
(daher auch meine Frage nach dem
"\") - wenn die beiden Variablen
zusammen den Pfad/Namen einer Textdatei
ergäben, würde diese zeilenweise
ausgelesen - ist hier nicht der Fall, daher
ist eine andere Vorgehensweise gefragt.

Vorweg: Ich nehme an, Du meintest oben:
"und in ip_server.lst steht
10.100.0."
Falls ja, könntest Du mit
set /p
> serverip=<ip_server.lst
> 
den Inhalt dieser Datei der
Variablen %serverip% zuweisen. Weiter ginge
es dann zB so:
FOR /f %%i IN ('TYPE  
> "%ips%"') DO (  
> ping -n 1 -w 200 %serverip%%%i | find /i
> "TTL=" && (@echo  
> %serverip%%%i>>online.txt) || (@echo
> %serverip%%%i>>offline.txt)
> )
> 

Grüße
bastla



DAS FUNKTIONIERT! -na klar!!!!
DANKE!!!!