2013-02-10 1 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 мой имякомпьютера является 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'? –

+0

Я не хочу, чтобы ip-адрес отображал это Я хочу, чтобы он отображал только мой IP-адрес, поэтому я считаю, что ответ на ваш вопрос будет я хочу, чтобы он был отформатирован иначе – cmd

+0

Возможный дубликат [Как получить IP-адрес в переменной пакетного файла?] (http : //stackoverflow.com/questions/5898763/how-do-i-get-the-ip-address-into-a-batch-file-variable) – UnhandledExcepSean

ответ

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

+0

Я бы подтолкнул вас, но им не понравилось 15-летнее. Жаль, не делай этого, как только я сделаю хотя бы – cmd

+0

Я просто вас разогнал! – cmd

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.