Hola a todos estoy trabajando en un batch que cambia ip. me gustaria saber si hay alguna forma de poner el login y el comando reboot con la ventana escondida utilizo el nircmd sendkey aqui dejo el codigo funciona pero por questiones de estica me gustaria ocultar las ventana
Código [Seleccionar]
@echo off
title reiniciar router
::obviamente necesita telnet y nircmd en la carpeta de windows %windir%
if exist %HOMEDRIVE%\router.ini goto ya
echo no existe %HOMEDRIVE%\router.ini
echo ponga los datos siguintes para crearlo
echo ............................................................
set /p n=nombre--^>
set /p m=ccontrase¤a--^>
cls
echo ......................................................
echo si no sabes el comando de reinicio de tu router
echo presione enter para por o comando por defecto (reboot)
echo ......................................................
set com=reboot
set /p com=comando--^>
echo ......................................................
echo nota
echo si quieres volver a editar los datos
echo tienes que eliminar %HOMEDRIVE%\router.ini o editarlo
echo ......................................................
echo [creado por junior]>%HOMEDRIVE%\router.ini
echo nombre-------^>%n%>>%HOMEDRIVE%\router.ini
echo contrasenia--^>%m%>>%HOMEDRIVE%\router.ini
echo comando------^>%com%>>%HOMEDRIVE%\router.ini
pause
:ya
nircmd win hide ititle "reiniciar router"
::lee el archivo ini y pone en variables
for /f "tokens=1-2 delims=-> skip=1" %%a in (%HOMEDRIVE%\router.ini) do set %%a=%%b
:: le es la variable final con los caracteres separados que vamos a utilizar en el for etiqueta conti
set le=nome
:: es el contenido de la variable a separar
set o=%nombre%
:: aqui es para que vuelva de abajo a la siguiente etiqueta
set go=p
::se dirige a la parte inferior del codigo para separar la variable
goto byjunior
:p
set le=password
set o=%contrasenia%
set go=com
goto byjunior
:com
set le=comando
set o=%comando%
set go=conti
goto byjunior
:conti
START telnet 192.168.1.1
nircmd wait 500
for %%x in (%nome% enter %password% enter %comando% ENTER ) do (
nircmd wait 100
nircmd win activate ititle "TELNET 192.168.1.1"
nircmd sendkey %%x press
)
nircmd wait 2200
taskkill /f /im telnet.exe
exit
:byjunior
::separa las letras por espacios
setlocal enabledelayedexpansion
for %%x in (a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9) do (
echo !o:%%x=%%x !>junior.ini
<"junior.ini" set /p "o="
)
echo %O: = 0x20 %>junior.ini
<"junior.ini" set /p "o="
del /f /q junior.ini
set %le%=%o%
goto %go%