你好,想请教你个问题,关于批处理ping本机IP的

“下面这个是可以任意输入网止的
@echo off
set /p a=要查询的网址
for /f "tokens=2 delims=[]" %%i in ('ping %a%') do echo %%i>>e:\ip.txt ”
请问,这个怎么改成 不用输入要查询的网址,直接执行固定的本机地址查询,
还有能不能让这个“e:\ip.txt”文件里的内容变成"IP地址=这里是查询出来的IP地址" 。
谢谢了先!

第1个回答  2011-03-10
不就是查下IP嘛,用nsllookup好了,手上有个前天写好的,share下:
一个批处理:
××××××××××××××××××××××××××××××××××××××××××××××××××
for /f "tokens=1 delims=, " %%a in (PCName.txt) do call :nslookuper %%a
CSCRIPT %0\..\nslookup_get_IP.vbs
del outputns.txt -y
pause
goto :eof
:nslookuper
nslookup %1 >>outputns.txt
×××××××××××××××××××××××××××××××××××××××××××××××××××××××
一个vbs文件nslookup_Get_IP.vbs:
××××××××××××××××××××××××××××××××××××××××××××××××××××××××
Const ForReading = 1, ForWriting = 2
Dim fso1, fso2, OriginalFile, DataFile, strLineTxt, strLinefirst2, nCounter, strInputLine
Dim strFirstPart, strSecondPart, strThirdPart, strFouthPart
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set fso2 = CreateObject("Scripting.FileSystemObject")
Set OriginalFile = fso1.OpenTextFile(".\outputns.txt", ForReading)
Set DataFile = fso2.OpenTextFile(".\PCName_IP.csv", ForWriting, True)
nCounter=0
straddressflag=0
Do While Not OriginalFile.AtEndOfStream

strwriteflag=0
strLineTxt=Trim(OriginalFile.ReadLine)
If Left(strLineTxt,5)="Name:" Then
nCounter=InStr(1,strLineTxt,":")
'strnamewithsuf=Trim(Right(strLineTxt,(Len(strLineTxt)-nCounter-1)))
strnamewithsuf=Trim(Mid (strLineTxt,nCounter+1,99))
'MsgBox(strnamewithsuf)
nCounter=InStr(1,strnamewithsuf,".")
strName=Trim(Left (strnamewithsuf,nCounter-1) )
'MsgBox(strName)
straddressflag=1
End If

If (Left(strLineTxt,8)="Address:" And straddressflag=1) Then
nCounter=InStr(1,strLineTxt,":")
strIP=Trim(Mid (strLineTxt,nCounter+1,99))
straddressflag=0
strwriteflag=1
End If
If strwriteflag=1 Then
strinput=strName + "," + strIP

DataFile.WriteLine (strInput)
End If

Loop
DataFile.Close
OriginalFile.Close
msgbox("done")
××××××××××××××××××××××××××××××
一个文本文件PCName.txt放域名/机器名:
每行一个名字,如:
baidu.com
sina.com
google.com
PC_mine

搞完后,运行批处理文件就可以了(3个文件放在同一个目录下),生产的文件用excel打开。来自:求助得到的回答
第1个回答  2011-03-10
这样就可以了:
::═════代═══码═══开═══始═════
@echo off
set a=www.baidu.com
for /f "tokens=2 delims=[]" %%i in ('ping %a%') do (
echo %a%=%%i>>e:\ip.txt)
pause
::═════代═══码═══结═══束═════本回答被提问者采纳
第2个回答  2011-03-04
你好!没明白想作什么的
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|findstr /ic:"IP Address"')do set a=%%a
echo. IP 地址是 %a: =%
echo.IP地址=%a: =%>>e:\ip.txt
pause
相似回答