Как запустить программу, если мой локальный IP-адрес находится в подсети?
Например
192.168.49.*
Следующий пакетный файл будет работать, notepad
если ваш локальный IP-адрес находится в диапазоне 192.168.49.*
:
@echo off setlocal rem get ip address for /f "delims=[] tokens=2" %%a in ('ping -4 %computername% -n 1 ^| findstr "["') do set _ip=%%a rem get subnet for /f "tokens=1-3 delims=." %%b in ("%_ip%") do set _subnet=%%b.%%c.%%d rem check for matching subnet if [%_subnet%] equ [192.168.49] notepad
Заметки:
- замените
notepad
на имя программы, которую вы хотите запустить. - Поместите копию командного файла
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
для запуска при входе в систему.
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- Переменные среды. Переменные среды в основном используются в пакетных файлах, их можно создавать, изменять и удалять для сеанса с помощью команды SET.
- findstr - поиск строк в файлах.
- for / f - Циклическая команда против результатов другой команды.
- set - отображать, устанавливать или удалять переменные окружения CMD. Изменения, сделанные с помощью SET, будут сохраняться только в течение текущего сеанса CMD.
- setlocal - устанавливает параметры для контроля видимости переменных среды в командном файле.