2013-02-10 68 views
1

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

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

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

所以如果我的时间为9:13PM我computername是tracckkk1,我的IP地址是14.14.14.14那么它会说

9:13PM tracckkk1 14.14.14.14

,而不是

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

由于任何人这是回答这个问题!

+0

对不起,如果这是一个愚蠢的问题,我只想澄清一件事。当你说,*'我不想让它显示'IP地址.................'%IP地址%''*,你的意思是你不希望IP地址的格式如此,或者你想要一个不同的IP地址(不是来自该行)?此外,该线应该来自'ipconfig'? – 2013-02-10 03:38:48

+0

我不希望IP地址显示线我希望它只显示我的IP地址,所以我相信你的问题的答案是我希望它的格式不同 – cmd 2013-02-10 05:23:06

+0

可能重复的[我如何获得IP地址到批处理文件变量?](http ://stackoverflow.com/questions/5898763/how-do-i-get-the-ip-address-into-a-batch-file-variable) – UnhandledExcepSean 2013-02-11 00:57:26

回答

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! 
    ) 
+0

非常感谢你!!!!!!!这完美的作品!!! – cmd 2013-02-12 00:47:28

+0

我会提高你,但即时通讯不在lvl 15。对不起,我做了一次虽然 – cmd 2013-02-12 01:31:45

+0

我刚刚提高你! – cmd 2013-02-12 01:55:05

0

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

注:IP_ADDRESS价值将有一个前导空格)

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

下面是For keyword文档。

更新:此方法可能存在问题。见this question