yakazaa
Goto Top

BATCH Skript durchsucht Datei und findet angegebene Punkte nicht...

Hallo zusammen !

Ich habe bislang folgendes gebastelt:

set /p Eingabe2=Clientname (UPPER CASE LETTERS)
set /p Eingabe3=Clientname (lower case letters)
set /p Eingabe4=Clientnumber

rem ###################### static IP setting #############################################
ECHO.
ECHO.
ECHO Computername will be set to %Eingabe2%-%Eingabe4%...
SET COMPUTERNAME=%Eingabe2%-%Eingabe4%
ECHO Computername will be set to %Eingabe2%-%Eingabe4%...Done.
ECHO Reading Hostfile...
ECHO 172.27.72.178	SVS-5 >> C:\SW\hosts.txt
ECHO 172.27.72.179	SVS-6 >> C:\SW\hosts.txt
ECHO 172.27.72.180	SVS-7 >> C:\SW\hosts.txt
ECHO 172.27.72.181	SVS-8 >> C:\SW\hosts.txt
ECHO 172.27.72.182	SVS-9 >> C:\SW\hosts.txt
ECHO 172.27.72.183	SVS-10 >> C:\SW\hosts.txt
ECHO 172.27.72.184	SVS-11 >> C:\SW\hosts.txt
ECHO 172.27.72.185	SVS-12 >> C:\SW\hosts.txt
ECHO 172.27.72.186	SVS-13 >> C:\SW\hosts.txt
ECHO 172.27.72.187	SVS-14 >> C:\SW\hosts.txt
ECHO 172.27.72.188	SVS-15 >> C:\SW\hosts.txt
ECHO 172.27.72.189	SVS-16 >> C:\SW\hosts.txt
pause
ECHO Reading Hostfile...Done.
ECHO Getting IP from Hostfile...
FOR /F "" %%I in ('findstr /i "%Eingabe2%-%Eingabe4%$" C:\sw\hosts.txt') DO SET IP=%%I  
ECHO %IP%
REM DEL c:\SW\hosts.txt
ECHO Getting IP from Hostfile...Done.
ECHO Got IP: %IP%

Es geht darum, die angegebenen IP's in eine temporöre Datei (hosts.txt) zu schreiben und dann die passende auszuwählen um diese dann zu setzen..

Leider gibt die FOR Schleife die Variable nicht zurück.

Könntet Ihr mir wohl sagen warum nicht und was ich ändern muss ?!

Danke im Voraus !!!!
Dominik

Content-Key: 89209

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

Printed on: April 23, 2024 at 20:04 o'clock

Member: yakazaa
yakazaa Jun 05, 2008 at 11:40:31 (UTC)
Goto Top
Also ich bin inzwischen soweit, das der ehler mit dem $ beim findstr zu tun hat:

Ohne das $ Zeichen findet er immer die passende IP !

Problematisch wird das dann nur wenn ich ne SVS-1 mit in die HOST Tabelle übernehme..
Ist aber vorerst nicht geplant - trotzdem will ich wissen was ich dann machen müsste.. face-big-smile

Gruß an alle: yaka
Member: Biber
Biber Jun 05, 2008 at 12:04:27 (UTC)
Goto Top
Moin yakazaa,

works as designed...

Du suchst nach einem Suchbegriff am Ende (an CRLF) der zeile und schreibst aber:
..
ECHO 172.27.72.189	SVS-16 >> C:\SW\hosts.txt 
---> zwischen "...SVS-16" und ">>" ein Leerzeichen.
das steht auch mit in der Textdatei.

Schreib es entweder ohne Leerzeichen...
..
>>C:\SW\hosts.txt (ECHO 172.27.72.189	SVS-16)
-oder-
(ECHO 172.27.72.189 SVS-16)>>C:\SW\hosts.txt 
...oder bau alternativ in den Suchbegriff das Leerzeichen vor dem "$" ein.
....'findstr /i "%Eingabe2%-%Eingabe4% $"   

Grüße
Biber
Member: yakazaa
yakazaa Jun 05, 2008 at 12:21:37 (UTC)
Goto Top
Danke !
Das ist es....DU bist es !