/ Forside / Teknologi / Operativsystemer / MS Windows / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS Windows
#NavnPoint
Klaudi 76474
o.v.n. 67550
refi 58409
tedd 45557
Manse9933 45149
molokyle 40687
miritdk 38357
briani 27239
BjarneD 26414
10  pallebhan.. 24310
Udføre kommandoer ud fra IP adresse?
Fra : Ubbe


Dato : 12-12-05 18:46

Jeg har flere IP adresse scoper og vil gerne udføre en given kommando udfra
om det er det ene eller andet scope.
F.eks.

ip=192.168.10.123
ip=192.168.20.231

IF ip == 192.168.10. echo IP scope 1
IF ip == 192.168.20. echo IP scope 2

Kan man det?



 
 
Bertel Brander (12-12-2005)
Kommentar
Fra : Bertel Brander


Dato : 12-12-05 19:57

Ubbe wrote:
> Jeg har flere IP adresse scoper og vil gerne udføre en given kommando udfra
> om det er det ene eller andet scope.
> F.eks.
>
> ip=192.168.10.123
> ip=192.168.20.231
>
> IF ip == 192.168.10. echo IP scope 1
> IF ip == 192.168.20. echo IP scope 2

Måske noget i stil med:

@echo off
for /F "tokens=2 delims=:" %%I in ('ipconfig ^|findstr IP-adresse') do
set Address=%%I
set Address=%Address: =%

if %Address% == 192.168.2.182 (
echo At home
) else if %Address%==192.168.2.181 (
echo At work
) else (
echo Someware else
)

Det virker med en dansk XP home, søge strengen og/eller formateringen
skal måske justeres til andre windows versioner.

Det virker ikke på 95/98/ME.

/b

Ubbe (13-12-2005)
Kommentar
Fra : Ubbe


Dato : 13-12-05 12:32

> @echo off
> for /F "tokens=2 delims=:" %%I in ('ipconfig ^|findstr IP-adresse') do set
> Address=%%I
> set Address=%Address: =%
>
> if %Address% == 192.168.2.182 (
> echo At home
> ) else if %Address%==192.168.2.181 (
> echo At work
> ) else (
> echo Someware else
> )

Den er ikke så god, hvis man har flere interfaces og flere IP adresser med
mindre, man kan isolere f.eks. sin "Local Area Connection" interface?



Bertel Brander (13-12-2005)
Kommentar
Fra : Bertel Brander


Dato : 13-12-05 20:18

Ubbe wrote:
> Den er ikke så god, hvis man har flere interfaces og flere IP adresser med
> mindre, man kan isolere f.eks. sin "Local Area Connection" interface?

Man kan lave noget i stil med følgende. Det finder den første linie
med "IP-adresse" efter en linie med "LAN-forbindelse"

@echo off
setlocal
set Address=
set State=0
for /F "tokens=*" %%I in ('ipconfig /all ^|findstr /V "^$"') do Call
:FilterAddress "%%I"

echo Current IpAddress: %Address%

if %Address% == 192.168.2.182 (
echo At home
) else if %Address%==192.168.2.187 (
echo At work
) else (
echo Someware else
)

goto :eof

:FilterAddress
if not [%Address%]==[] goto :eof
set Line=%~1
if State equ 0 (
if not "%Line:LAN-forbindelse=%"=="%Line%" set State=1
goto :eof
)
for /F "tokens=2 delims=:" %%Z in ('echo %Line% ^|findstr
/C:"IP-adresse" ') do set Address=%%Z
if "%Address%"=="" goto :eof
set Address=%Address: =%

/b

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste