We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now


Traceroute Help

dcreedon asked
Medium Priority
Last Modified: 2010-04-10
I am using traceroute to count hops between servers which it does just fine, what i am looking to do is write a script to output the last line/hop of the traceroute output to an excel file, is ther an easy way to do this?

Tracing route to AT1006.corpnet1.com

over a maximum of 30 hops:[xxx.xxx.xxx.xxx]

  1    <1 ms    <1 ms    <1 ms  xxx.xxx.xxx.xxx

  2    <1 ms    <1 ms    <1 ms  xxx.xxx.xxx.xxx

  3    <1 ms    <1 ms    <1 ms  xxx.xxx.xxx.xxx

  4     1 ms     1 ms    <1 ms  xxx.xxx.xxx.xxx

  5    <1 ms    <1 ms    <1 ms  servername [xxx.xxx.xxx.xxx]

  6    38 ms    41 ms    39 ms  servername [xxx.xxx.xxx.xxx]  e.g. this is the only line that i want to export to excel.

There are 40 servers and i can traceroute them all in a batch file but all i need is the last line exported.

Thanks and regards.


Watch Question

Dear dcreedon,
You can write a batch file with Tracert command to the servers. Execute the Batch file and pipe it to a file with csv ext. Try to open the file in Excel it will work


Test.bat should contain the tracert commands.

Hope it helps you


I would agree, dump that into excel and from there you can start setting up the data links. If the routes are generally going to be different lengths it might be worth nesting some if functions.

a1 traceip1
a2 traceip2
a3 traceip3
a4 traceip4
a6 =if(a4>0,a4,if(a3>0,a3,if(a2>0,a2,if(a1>0,a1,0))))

This will display the last know IP even if they are different lengths every time.
Steve KnightIT Consultancy

You could write a batch file as follows.  This takes a list of addresses - either ip or hostname, whatever works on the tracert line, and runs a tracert then picks out the last line that works into a CSV file.  Is that what you want?


@echo off
set logfile=c:\logfile.csv
set addresses=c:\addresses.txt
IF NOT EXIST %addresses% echo %addresses file not found.  This should have each IP or hostname, one per line & goto end

echo Computer,hops,time 1,time 2,time 3, IP Address > %logfile%

for /f "tokens=1" %%y in (%addresses%) do call :process %%y
goto end


echo Tracert to %1
set num= & set ms1= & set ms2= & set ms3= & set IP=
for /f "tokens=1,2,4,6,8 delims= " %%a in ('tracert -h 20 -d %1 ^| find /i "ms"') do set num=%%a & set ms1=%%b & set ms2=%%c & set ms3=%%d & set IP=%%e

echo %1,%num%,^%ms1%,^%ms2%,^%ms3%,%ip%
echo %1,%num%,^%ms1%,^%ms2%,^%ms3%,%ip% >> %logfile%


Simpler and quicker I think overall is to simply copy the 40 to a new file. This can be done directly off the dos window, or by redirecting it over to a text file, such as log.txt. Once you have that then you can decide on whether or not to invest in Excel

If you then want his to be a daily job, then my vote is to place everything that is output into a single flle (trace.log). Process the log with a language that cna identify strings, to pull out the 40 or so lines desired by parsing. Do not count on results always being on same line number, you already list twice the hops that are needed.


Hi Guys,

Thanks for all the help so far, but maybe i didn't explain myself properly before. I have a batch file thats tracerts 40 servers all at once. The ouptut gets sent to a text file and i can import that to excel and manually take the last lines out of each servers traceroute and copy into another excel sheet. Very tedious is it not. What i want to do is have a script or something that will pull the last line out of each servers traceroute (Either on the text file or excel) and put it into an excel file. This would save a lot of time. I know this can be difficult as each trace route is different on the text file, different hops, TTLs IP's etc but if this is possible any help would be greatly apprcieated.

Thanks Guys.
Steve KnightIT Consultancy

Hmm, just checking. Did my post go through?  Looks like it :-)

Have you tried the batch file I posted above.  That is what it does.  It takes the list of servers from the file addresses.txt, one entered per line, runs a tracert then collects that data for you into a CSV...

It does do it one after another... is that an issue?



Hi Steve,

I ran the script and and all it did was create the excel file with no content. Can't see why it's doing that.

Steve KnightIT Consultancy

OK, try removing the @echo off line and re-run it to see any errors.  I tried it on NT4 and Windows 2003.  On the screen it should come back with


Tracert to Server1.domain.internal
server1.domain.internal,10 ,8 ,8 ,8 ,
Tracert to server2.domain.internal
server2.domain.internal,10 ,6 ,6 ,6 ,

And the two CSV lile lines go to the screend and CSV file

In the text file addresses.txt add the IP or servername or fully qualified.

It currently sets a maximum hop of 30 which you can adjust on the tracert line and turns off name resolution with the -d option to speed it up.

Correct me if I am wrong but what I am trying to produce for you IS what you are asking for ultimately isn't it before I put any more time into it?

IT Consultancy
I wrote a custom batch file to carry out what was asked for and would appreciate at least a decent split in points for that, work would have continued if the asker continued with it...

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.