批处理文件中的IP地址

时间:2013-02-10 02:31:04

标签: windows batch-file windows-xp ip-address command-prompt

我需要弄清楚如何仅为我的批处理文件显示计算机的IP地址。我不想要显示IP Address ................."%IP Address%

的那个

我需要它来说一些类似的东西。

set time=&time/t
set computername=%computername%
set IP=%IP Address%
echo.
echo.
echo.
%time% %computername% %IP Address%

所以如果我的时间是9:13PM我的计算机名是tracckkk1而我的IP地址是14.14.14.14那么就会说

9:13PM tracckkk1 14.14.14.14

而不是

21:13:51 tracckkk1 IP Address.. ...............14.14.14.14

感谢任何回答这个问题的人!

2 个答案:

答案 0 :(得分:3)

以下工作

    @echo off
    setlocal enabledelayedexpansion
    set /p hostname=Enter hostname: 
    for /f "tokens=3" %%a in ('ping -4 %hostname% ^| find "Pinging"') do (
    set ip=%%a
    set ip=!ip:[=!
    set ip=!ip:]=!
    echo %date% %computername% !ip! 
    )

答案 1 :(得分:0)

以下内容将在名为IP_ADDRESS的环境变量中捕获计算机的IP地址。

注意: IP_ADDRESS的值将有一个前导空格。)

for /f "usebackq delims=: tokens=2" %%i in (`ipconfig ^| findstr Address`) do (
set IP_ADDRESS=%%i
)

以下是For keyword的文档。

更新:此方法可能存在问题。请参阅this question