Como eu executo um programa se meu ip local estiver dentro de uma sub-rede?
For example
192.168.49.*
O seguinte arquivo em lote será executado em notepad
se o endereço IP local estiver no intervalo 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
Notas:
- substitua
notepad
pelo nome do programa que você deseja executar. - insira uma cópia do arquivo de lote em
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
para executar no login.
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- variáveis de ambiente - Variáveis de ambiente são usadas principalmente em arquivos de lote, elas podem ser criadas, modificadas e excluídas para uma sessão usando o comando SET.
- findstr - Pesquise strings em arquivos.
- para / f - Comando Loop contra os resultados de outro comando.
- definir - Exibir, definir ou remover variáveis de ambiente do CMD. As alterações feitas com o SET permanecerão apenas pela duração da sessão atual do CMD.
- setlocal - Defina opções para controlar a visibilidade de variáveis de ambiente em um arquivo em lotes.