48

Это может показаться тривиальным, но я ищу самый быстрый способ определения IP-адреса моего ПК в моей сети.

  • Это регулярно меняется, когда я подключаюсь от одной сети к другой через DHCP
  • Соединение меняется с проводного на беспроводное
  • ПК с Windows 7 (хотя в идеале идеальное решение будет работать на всех версиях Windows)
  • Установлены различные адаптеры (например, VMWare, Tunnels и т.д.)

Мне нужно это знать, так как я часто запускаю локальный веб-сервер, где мне нужен доступ к файлам через локальную сеть ... и, поскольку он регулярно меняется, я хочу, чтобы самый быстрый способ получить адрес.

Мой текущий поток:

  1. WindowsKey + R, чтобы открыть диалоговое окно "Выполнить"
  2. "cmd" + Enter, чтобы открыть командную строку
  3. "ipconfig" + Enter, чтобы получить диагностическую информацию
  4. Прокрутите или измените размер окна, чтобы я мог видеть строку в моем адаптере Ethernet для подключения по локальной сети для моего адреса ipv4
  5. Помните, чтобы напечатать в другом месте ... или
  6. Щелкните правой кнопкой мыши> выберите « Отметить» > выделите адрес> нажмите « Enter», чтобы скопировать его в буфер обмена

Это было не так плохо с Windows XP, когда у меня не было дополнительных адаптеров, туннелей, беспроводных подключений и т.д., Но объем данных, возвращаемых с помощью этой команды, затрудняет извлечение.

Конечно, должен быть лучший, более быстрый путь! (бонусные баллы, если добавить его в буфер обмена легко)

15 ответов15

60

Введите это в файл .bat. Затем вы можете создать для него ярлык и поместить его на панель задач, в меню «Пуск» или назначить горячую клавишу.

ipconfig | find "IPv4" | find /V "192.168." | CLIP

Что он делает: Сначала find возвращает все строки, которые содержат IPv4. Если у вас есть несколько сетевых адаптеров, например, из VMWare, вы можете исключить их. Вот где в игру вступает find /V , он находит все строки, которые не содержат данную строку. Например, вот что я получаю после первой находки:

>ipconfig | find "IPv4"
   IPv4 Address. . . . . . . . . . . : 134.32.72.86
   IPv4 Address. . . . . . . . . . . : 192.168.229.1
   IPv4 Address. . . . . . . . . . . : 192.168.230.1

Наконец, CLIP копирует вывод в буфер обмена, так что вы останетесь с

>    IPv4 Address. . . . . . . . . . . : 134.32.72.86

Если этого недостаточно, возможно, кто-то еще может уточнить это с помощью модных шаблонов поиска.

23

Создайте ярлык для BGinfo (программа, которая показывает системную информацию на фоне Windows). Двойной щелчок. :)

7

Казалось, есть несколько решений этой проблемы, и я даже придумал одно из своих.

Подобно @iglvzx, я тоже использовал утилиту AutoHotKey, чтобы создать свое собственное приложение.

Я разместил приложение онлайн здесь: http://dl.dropbox.com/u/177276/ipAddress.exe

Я бросаю свой exe-файл в папку «Автозагрузка» ... и он тихо ждет, пока я не нажму горячую клавишу:

WindowsKey + I

который затем вызывает это диалоговое окно ... позволяя мне скопировать адрес одним щелчком мыши ... или перейти в другое окно, так как IP-адрес будет отображаться на вкладке приложения на панели запуска. Я отказался от автоматического помещения его в буфер обмена на случай, если у меня там будет что-то важное, что я не хочу случайно удалить.

Вот исходный код, который я использовал, чтобы получить IP-адрес (он предполагает, что% A_IPAddress1% является правильным (но из моего тестирования это всегда было)):

#SingleInstance
#Persistent

Menu, tray, NoStandard
Menu, tray, add, Exit, ExitAppCompletely

Hotkey, #i, ShowIPAddress
return

ShowIPAddress:
Gui, Add, Text, x50 y8, Your IP Address:
Gui, Add, Edit, x140 y5 ReadOnly vIPAddress, %A_IPAddress1%
Gui, Add, Text, x50 y35 w250 vCopiedStatus,

Gui, Add, Button, x70 y65 w75, &Copy
Gui, Add, Button, x150 y65 w75, &Dismiss
Gui, Show, W290 H100 Center, %A_IPAddress1% - IP Address
return

ButtonCopy:
clipboard = %A_IPAddress1%
GuiControl,, CopiedStatus, Copied %A_IPAddress1% to the clipboard
Sleep, 1000
GuiControl,, CopiedStatus,
Sleep, 500

ButtonDismiss:
GuiClose:
Gui, Destroy
Exit

ExitAppCompletely:
ExitApp
6

Вы пытались использовать вместо этого имя хоста netbios?

Определите имя вашего компьютера, а затем попытайтесь пропинговать его, используя это имя на другом компьютере.
Вы можете обнаружить, что вам не нужен IP-адрес вообще.

Вы можете получить имя хоста, выполнив команду hostname на вашем компьютере.

5

Я использую www.whatismyip.org. Очень прост в использовании, просто перейдите на сайт в вашем любимом браузере, и он будет отображать ваш внешний IP.

Как и любой текст, просто выделите и CTRL - C, чтобы скопировать.

Если вы установите его в качестве домашней страницы и поместите ярлык на панель быстрого запуска, потребуется всего один клик и копия, чтобы получить ваш IP в буфер обмена.

4
C:\Documents and Settings\myusername> ipconfig /all | find "IP Address"
        IP Address. . . . . . . . . . . . : 16.138.69.121

and

C:\Users\dalvi>ipconfig /all | find "IPv4 Address"
        IPv4 Address. . . . . . . . . . . : 16.175.22.139(Preferred)
4

Просто чтобы раскрыть великолепный ответ Амадеу, вот вариант того, что снимает начальную часть. (должен быть запущен как командный файл)

@ECHO OFF 

FOR /F "tokens=*" %%i in ('ipconfig ^| find "IPv4"') do SET result=%%i

echo %result:IPv4 Address. . . . . . . . . . . : =% | clip
3
  1. [WindowsKey] IP
  2. [Enter], чтобы открыть "Просмотр сетевых подключений"
  3. Дважды щелкните по вашей сети
  4. Нажмите на "Детали"

Вы можете Ctrl+C внутри, он будет копировать весь контент окна, включая IP-адреса

Вот и все, с четырьмя нажатиями клавиш и тремя щелчками :)

3

Это не работает на моем компьютере с XP, но в Windows 7 я могу ограничить информацию одним адаптером с

netsh interface IP show addresses "Local Area Connection" | findstr "IP" | clip

Который может войти в пакетный файл

3

Я придумал решение, используя AutoHotkey. Скомпилируйте скрипт и запустите исполняемый файл. Ваш IP-адрес будет быстро скопирован в буфер обмена! Это берет первый адрес из вывода ipconfig /all . Если вам нужна помощь в настройке скрипта, просто дайте мне знать. :)

Скачать:

http://ahk.igalvez.net/GetIPv4.exe, 784 КБ, Windows 7

Clipboard =

myCommand = ipconfig /all | find "IPv4" | clip

Run cmd.exe
Send %myCommand%{Enter}
Sleep, 500
Send exit{Enter}

myString = %Clipboard%

StringReplace, myString, myString, %A_Space%, , All
StringReplace, myString, myString, IPv4Address...........:, , All
StringReplace, myString, myString, (Preferred), , All

StringSplit, myLines, myString, `r`n

Clipboard = %myLines1%

ExitApp
2

Несмотря на то, что все остальные параметры будут работать, если вам нужно будет получать ваш IP-адрес так часто, у меня будет специальная программа, запущенная только для его доставки. Например, я использую гаджет на рабочем столе, который отображает мой IP-адрес.

Этот, например, будет отображать ваш IP-адрес:http://pcsupport.about.com/od/toolsofthetrade/gr/system-monitor-gadget.htm

Я также знаю, что где-то должна быть программа, которая будет сидеть в вашем системном трее и сообщать вам ваш IP-адрес всякий раз, когда вы нажимаете на него.

Или, может быть, вы могли бы использовать расширение Firefox / Chrome.
Сотнями способов это можно сделать. Просто используйте свое воображение.

0

Это не получает ваш IP-адрес, но решает основную проблему:

Установите Apple Bonjour для Windows на компьютерах, которые вы используете, и вы можете получить доступ к веб-сайтам на них по адресу http://[machinename] .local/. Apple Bonjour использует сетевые стандарты ZeroConf для разрешения хостов в домене .local без какого-либо центрального сервера. Он встроен в Mac OS, и в большинстве дистрибутивов включена реализация Linux, называемая Avahi.

Он работает даже на локальных IP-адресах связи 169.254.xx, которые обычно означают, что вашему компьютеру не удалось получить IP-адрес с помощью перекрестного кабеля между двумя компьютерами.

Я использую его, чтобы позволить коллегам, оснащенным Windows, получать доступ к тестовым веб-сайтам, размещенным на моем MacBook.

0

Установите realvnc на свой компьютер, наведите курсор мыши на уведомление панели задач.

RealVNC предоставляет программное обеспечение для удаленного управления, которое позволяет просматривать и взаимодействовать с настольными приложениями в любой сети.

0

Если вы круты, вы всегда будете держать под рукой окно PowerShell. Тогда вы можете просто запустить этот скрипт: http://pshscripts.blogspot.com/2009/01/get-ipaddressps1.html

0

Если вы используете командную строку TakeCommand (TCMD.exe) JPSoft, есть автоматическая переменная:

% _IP

Будьте осторожны: это список разделенных пробелами каждого IP-адреса.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .