【问题标题】:IP Address in Batch File批处理文件中的 IP 地址
【发布时间】:2013-01-25 11:44:12
【问题描述】:

我需要弄清楚如何为我的批处理文件单独显示计算机的 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

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

【问题讨论】:

  • 对不起,如果这是一个愚蠢的问题,我只想澄清一件事。当你说,'我不想要它显示 IP Address ................."%IP Address%’ 的那个,你的意思是你不希望 IP 地址被这样格式化还是你想要一个不同的 IP地址(不是从那一行)?另外,这条线应该来自ipconfig吗?
  • 我不希望 IP 地址显示该行,我希望它只显示我的 IP 地址,所以我相信您的问题的答案是我希望它的格式不同

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


【解决方案1】:

以下将在名为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

【讨论】:

    【解决方案2】:

    以下操作将起作用

        @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! 
        )
    

    【讨论】:

    • 我会升级你,但我还没有达到 15 级。对不起,我做了一次就这样做了
    猜你喜欢
    • 2018-08-06
    • 2012-12-01
    • 2013-12-11
    • 2011-08-19
    • 2015-06-13
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多