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

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: yakazaa
yakazaa 05.06.2008 um 13:40:31 Uhr
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
Mitglied: Biber
Biber 05.06.2008 um 14:04:27 Uhr
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
Mitglied: yakazaa
yakazaa 05.06.2008 um 14:21:37 Uhr
Goto Top
Danke !
Das ist es....DU bist es !