- Вопрос или проблема
- Скачать:
- Краткая версия:
- Полная версия, которая включает также шлюз, маску подсети, dns
- Ответ или решение
- Самый быстрый способ определить IP-адрес вашего ПК в Windows
- 1. Использование командного файла (BAT)
- 2. Используйте PowerShell
- 3. Создание сочетания клавиш с помощью AutoHotkey
- 4. Используйте функционал Windows
- 5. Установка сторонних программ
- Заключение
Вопрос или проблема
Это может показаться тривиальным, но я ищу самый быстрый способ определить IP-адрес моего компьютера внутри моей сети.
- Он регулярно меняется, так как я подключаюсь от одной сети к другой через DHCP
- Соединение меняется с проводного на беспроводное
- Компьютер под управлением Windows 7 (хотя в идеале идеальное решение должно работать на всех версиях Windows)
- Установлено множество адаптеров (например, VMWare, туннели и т. д.)
Мне нужно это, так как я часто запускаю локальный веб-сервер, где мне нужно получать доступ к файлам через локальную сеть… и поскольку он регулярно меняется, я хочу самый быстрый метод получения адреса.
Мой текущий процесс:
- WindowsKey + R, чтобы открыть окно Выполнить
- “cmd” + Enter, чтобы открыть командную строку
- “ipconfig” + Enter, чтобы получить информацию о диагностике
- Прокрутить или изменить размер окна, чтобы я мог видеть строку в моем Ethernet-адаптере “Локальное соединение” для моего IPv4 адреса
- Запомнить его, чтобы ввести в другом месте… или
- Щелкнуть правой кнопкой мыши > выбрать Выделить > выделить адрес > нажать Enter, чтобы скопировать его в буфер обмена
В Windows XP это было не так уж плохо, когда у меня не было дополнительных адаптеров, туннелей, беспроводных соединений и т. д., но объем данных, возвращаемых этой командой, делает их трудно извлекаемыми.
Наверняка должен быть лучший, более быстрый способ! (бонусные очки, если копирование в буфер обмена будет легко осуществимо)
Напишите это в .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
Если этого недостаточно, возможно, кто-то другой сможет улучшить это с помощью сложных шаблонов поиска.
Создайте ярлык для BGinfo (программы, отображающей системную информацию на фоне Windows). Дважды щелкните. : )
Похоже, у этой проблемы есть несколько решений, и я даже придумал одно из них.
Подобно @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, Ваш IP-адрес:
Gui, Add, Edit, x140 y5 ReadOnly vIPAddress, %A_IPAddress1%
Gui, Add, Text, x50 y35 w250 vCopiedStatus,
Gui, Add, Button, x70 y65 w75, &Копировать
Gui, Add, Button, x150 y65 w75, &Закрыть
Gui, Show, W290 H100 Center, %A_IPAddress1% - IP-адрес
return
ButtonCopy:
clipboard = %A_IPAddress1%
GuiControl,, CopiedStatus, Скопировано %A_IPAddress1% в буфер обмена
Sleep, 1000
GuiControl,, CopiedStatus,
Sleep, 500
ButtonDismiss:
GuiClose:
Gui, Destroy
Exit
ExitAppCompletely:
ExitApp
Вы пробовали использовать имя хоста netbios вместо этого?
Узнайте имя вашего компьютера, а затем попробуйте пропинговать его с помощью этого имени на другом компьютере.
Вы можете обнаружить, что IP-адрес вам вообще не нужен.
Вы можете получить имя хоста, выполнив команду hostname
на вашем компьютере.
Я использую www.whatismyip.org. Очень просто в использовании, просто перейдите на сайт в вашем любимом браузере, и он отобразит ваш внешний IP.
Как и любой текст, просто выделите и нажмите CTRL–C, чтобы скопировать.
Если вы установите его в качестве домашней страницы и поместите ярлык в панель быстрого доступа, потребуется всего 1 клик и копирование, чтобы получить ваш IP в буфере обмена.
Это не сработало на моем компьютере с XP, но на Windows 7 я могу ограничить информацию для одного адаптера с помощью
netsh interface IP show addresses "Local Area Connection" | findstr "IP" | clip
Это можно поместить в батник.
Чтобы расширить ответ Амадею, вот вариант, который убирает начальную часть. (должен быть запущен как батник)
@ECHO OFF
FOR /F "tokens=*" %%i in ('ipconfig ^| find "IPv4"') do SET result=%%i
echo %result:IPv4 Address. . . . . . . . . . . : =% | clip
C:\Documents and Settings\myusername> ipconfig /all | find "IP Address"
IP Address. . . . . . . . . . . . : 16.138.69.121
и
C:\Users\dalvi>ipconfig /all | find "IPv4 Address"
IPv4 Address. . . . . . . . . . . : 16.175.22.139(Preferred)
- [WindowsKey] IP
- [Enter], чтобы открыть “Просмотр сетевых подключений”
- Дважды щелкните на вашей сети
- Нажмите на “Сведения”
Вы можете использовать Ctrl+C внутри, это скопирует весь контент окна, включая IP-адреса.
Я придумал решение с помощью 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
Хотя все другие варианты будут работать, если вам нужно получать IP-адрес так часто, у меня было бы отдельную программу, работающую только для этого.
Например, я использую настольный гаджет, который отображает мой IP-адрес.
Этот, например, отображает ваш IP-адрес:
http://pcsupport.about.com/od/toolsofthetrade/gr/system-monitor-gadget.htm
Я также знаю, что должна быть программа где-то, которая будет сидеть в вашем трей и показывать ваш IP-адрес, когда вы на него кликаете.
Или, возможно, вы можете использовать расширение для firefox/chrome.
Сотни способов, как это можно сделать. Просто используйте свое воображение.
Это не получает ваш IP-адрес, но решает вашу основную проблему:
Установите Apple Bonjour для Windows на используемых вами машинах, и вы сможете получить доступ к сайтам на них как http://[machinename].local/. Apple Bonjour использует стандарты ZeroConf для разрешения хостов в домене .local без какого-либо центрального сервера. Он встроен в Mac OS, и существует реализация для Linux, включенная в большинство дистрибутивов под названием Avahi.
Это даже работает через локальные IP-адреса 169.254.x.x, которые вы получаете, что обычно означает, что ваш компьютер не смог получить IP-адрес с помощью только кроссового кабеля между двумя машинами.
Я использую это, чтобы позволить коллегам на Windows получать доступ к тестовым веб-сайтам, размещенным на моем MacBook.
Установите realvnc на ваш ПК, наведите мышь на уведомление панели задач.
RealVNC предоставляет программное обеспечение для удаленного управления, которое позволяет вам видеть и взаимодействовать с приложениями рабочего стола через любую сеть.
Если вы используете командную строку JPSoft’s TakeCommand (TCMD.exe), есть автоматическая переменная:
%_IP
Будьте осторожны, это список всех IP-адресов, разделенный пробелами.
Предоставленные ответы не содержат версии PowerShell:
Краткая версия:
ipconfig | Select-String "IPv4"
Полная версия, которая включает также шлюз, маску подсети, dns
ipconfig /all | Select-String "IPv4" -Context 7,5
Опция -Context 7,5
гарантирует, что включены 7 строк перед и 5 строк после совпадения “IPv4”.
Вам может понадобиться/можно отрегулировать эти значения, чтобы включить или исключить больше информации
Если вы круты, держите окно PowerShell под рукой в любое время. Тогда вы можете просто запустить этот скрипт: http://pshscripts.blogspot.com/2009/01/get-ipaddressps1.html
Ответ или решение
Самый быстрый способ определить IP-адрес вашего ПК в Windows
Если вы ищете самый быстрый метод, чтобы узнать ваш IP-адрес в локальной сети на Windows (кроме вашего текущего метода с использованием командной строки), есть несколько подходов, которые могут быть более удобными и эффективными. Ниже представлены различные способы, которые работают в различных версиях Windows, включая Windows 7.
1. Использование командного файла (BAT)
Создайте текстовый файл с расширением .bat
и добавьте в него следующий код:
@ECHO OFF
FOR /F "tokens=*" %%i in ('ipconfig ^| find "IPv4"') do SET result=%%i
echo %result:IPv4 Address. . . . . . . . . . . : =% | clip
Этот файл будет извлекать ваш IP-адрес и копировать его в буфер обмена. Запустив его, вы можете легко вставить IP-адрес где угодно с помощью Ctrl + V
.
2. Используйте PowerShell
Если вы предпочитаете работать с PowerShell, вы можете использовать следующую команду:
ipconfig | Select-String "IPv4" | clip
Это скопирует ваш IP-адрес напрямую в буфер обмена. Для более полного вывода, включая шлюз и маску подсети, используйте:
ipconfig /all | Select-String "IPv4" -Context 7,5
3. Создание сочетания клавиш с помощью AutoHotkey
Если вы готовы немного углубиться в программирование, воспользуйтесь AutoHotkey для автоматизации процесса. Вот пример скрипта:
#Persistent
Hotkey, #i, GetIPAddress
GetIPAddress:
Run, cmd /c "ipconfig | find 'IPv4' | clip"
MsgBox, Ваш IP-адрес скопирован в буфер обмена.
return
- После создания этого скрипта и его компиляции в исполняемый файл, вы сможете легко получить ваш IP-адрес, нажав
Windows + I
. Он будет скопирован в буфер обмена, и появится уведомление.
4. Используйте функционал Windows
Если вам не нужно хранить IP-адрес, вы можете просмотреть его в свойствах подключений:
- Нажмите сочетание клавиш
Windows
+R
, введитеncpa.cpl
и нажмитеEnter
. - Дважды щелкните на вашем подключении (например, "Ethernet" или "Wi-Fi").
- Нажмите на кнопку "Сведения", чтобы увидеть ваш IP-адрес.
Вы можете выделить и скопировать его в буфер обмена.
5. Установка сторонних программ
Существуют различные сторонние приложения, которые могут отображать ваш IP-адрес, иногда прямо в системном трее. Одним из таких решений является утилита BGInfo от Sysinternals, которая выводит системную информацию на рабочем столе.
Заключение
Используя один из вышеописанных методов, вы сможете значительно сократить время на получение вашего IP-адреса в локальной сети. Выберите тот, который лучше всего соответствует вашим потребностям и уровню комфорта с технологиями.