[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2252
  • Last Modified:

Script that reads a TXT file, ping computername and return IP address

Hi Experts,

Is it possible to have a script reading a text file with computer names, ping computer name and return the IP address?
I've seen script that compear column in Excel, ping IP address in text file etc, but I can't get the script pinging computer name and return the IP address. Even better if the script could write the IP next to the computer name.

In advanced, thank you.
0
Bjarte Fjelland
Asked:
Bjarte Fjelland
  • 5
  • 5
1 Solution
 
TheCapedPlodderCommented:
Try this:

@echo off
for /f %%a in (comptuer_list.txt) do set target=%%a & call :ping
goto end

:ping
ping %target% -n 1 >ping_output.txt
for /f "tokens=3 skip=2" %%b in ('find "Reply" ping_output.txt') do set address=%%b & call :write
goto end

:write
del ping_output.txt
echo %target% %address% >>output.txt

:end




computer_list.txt needs to look like this:

server1
server2
server3
etc.

At the end of the process output.txt will look like this:

server1 10.0.0.1:
server2 10.0.0.2:
server3 10.0.0.3:
etc.
0
 
Bjarte FjellandAuthor Commented:
Tryed your suggestion TheCapedPlodder, but the Output.txt does not appear, only the last ping status in ping_output.txt file.
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
TheCapedPlodderCommented:
Ok, REM out the @echo off line and run it again. e.g.:

REM @echo off


  Then post the output here.  Initially only have two servers in the input file for testing.
0
 
Bjarte FjellandAuthor Commented:
It does fetch the computer name from the computer_list.txt and continue the rutine, but it does not write the output file.

C:\>REM @echo off
C:\>for /F %a in (comptuer_list.txt) do set target=%a   & call :ping
C:\>set target=Server1 & call :ping
C:\>ping Server1  -n 1  1>ping_output.txt
C:\>for /F "tokens=3 skip=2" %b in ('find "Reply" ping_output.txt') do set address=%b   & call :write
C:\>goto end
0
 
TheCapedPlodderCommented:
Interesting, can you post the contents of ping_output.txt for me please?

This worked for me but I run Vista so the output might be slightly different.

Cheers,

TCP
0
 
Bjarte FjellandAuthor Commented:
Got it to work, but on a English OS.
I do not have English installed on my computer because of support.

Thank you.
0
 
TheCapedPlodderCommented:
Aha!

That makes sense.

You can change it to work with your language.  Just post me the ouput of ping_output.tx and I'll let you know.

Cheers,

TCP
0
 
Bjarte FjellandAuthor Commented:
Of course :o)

Pinger Server1.Domain.NO [IP address] med 32 byte data:
Svar fra IP address: byte=32 tid=5ms TTL=120
Ping-statistikker for IP address:
    Pakker: sendt = 1, mottatt = 1, tapt = 0 (0% tap),
Gjennomsnittlig tid for tur-retur i millisekunder:
    minimum = 5ms, maksimum = 5ms, gjennomsnittlig = 5ms
0
 
TheCapedPlodderCommented:
Updated (I just replaced the word Relpy with the word Svar).  Give it a whirl:


@echo off
for /f %%a in (comptuer_list.txt) do set target=%%a & call :ping
goto end

:ping
ping %target% -n 1 >ping_output.txt
for /f "tokens=3 skip=2" %%b in ('find "Svar" ping_output.txt') do set address=%%b & call :write
goto end

:write
del ping_output.txt
echo %target% %address% >>output.txt

:end


I've also updated it to make it a bit easier to read if you want a neater version try this:
@echo off
for /f %%a in (comptuer_list.txt) do (
      set target=%%a
      call :ping
)
goto :eof

:ping
ping %target% -n 1 >ping_output.txt
for /f "tokens=3 skip=2" %%b in ('find "Svar" ping_output.txt') do (
      set address=%%b
      call :write
)
goto :eof

:write
del ping_output.txt
echo %target% %address% >>output.txt




Cheers,

TCP
0
 
Bjarte FjellandAuthor Commented:
Thanks, that was more than I've expected.
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now