Programación en Batch 2º Parte.

Esta es la segunda parte de mi tip Programación Batch con archivos .bat, así que te recomiendo leerlo si es que no estas instruido en el tema.

A continuación veremos los siguientes temas:

  • Uso de etiquetas
  • Condicionales
  • Creación de Menús
  • Apagado y Reiniciado de Pc con archivos .bat
  • Leer archivos externos
  • Insertar al Registro
  • Otras cosas útiles

Si te interesa, sigue leyendo.

Uso de etiquetas

Como bien sabemos la lectura de los códigos Batch se leen de una manera lineal, pero existe una forma para que el Batch se salte lineas, o vuelva a alguna anterior. Esto se logra con Etiquetas y la función GOTO.

Para crear una etiqueta solo debemos escribir:

:nombreEtiqueta

Dos punto (:) seguido del nombre que le daremos a la etiqueta. De esta manera el GOTO funciona escribiendo

GOTO seguido del nombre de la etiqueta, como vemos en el siguiente ejemplo.

@echo off
goto :mietiqueta
echo ¿Por que me saltan?
:MiEtiqueta
echo Hola, esta es la etiqueta y nos saltamos una parte del codigo.
pause>nul
exit

Dato Interesante:

En Batch las Mayúsculas y Minúsculas no se diferencian.

Condicionales:

El primer condicional que veremos el más usado.

IF:

Se puede ocupar para comparar, cadenas, números o para saber si existen archivos.

Ejemplo de sintaxis, if %cadena1% == %cadena2% OrdenAEjecutar

Que se podría leer de la siguiente manera. Si cadena1 es igual a Cadena2 ejecutemos la Orden OrdenAEjecutar.

También existe el NOT para ver si no son iguales.

if not %cadena1%== %cadena2% ejecutarAccion

Para saber si un archivo existe, se usa:

if exist “NombreDelArchivo” AccionAEjecutar

o también para ver si NO existe:

if not exist “NombreDelArchivo” AccionAEjecutar

No solo se puede ocupar el signo == para hacer comparaciones.

EQU, que es el equivalente a ==

NEQ, Sirve para cuando queremos ver Desigualdad.

LSS, Para verificar si el numero es Menor

LEQ, Para verificar si es menor o igual.

GTR, Si es mayor

GEQ, Si es Mayor e igual.

Un ejemplo de esto seria:

if 5 GTR 4 echo Hola

FOR:

Nos sirve para repetir un comando varias veces, en distintas variables.

Un ejemplo, es este:

for /L %%i IN (0,1,21) DO (echo %%i)

En donde /L es para especificar que nuestro for se basara en un conteo de números.

Aquí se repetirá un Echo, que imprimirá números del 0 al 21.

%%i sera el nombre de la variable que almacenara datos

in (0,1,21) aquí especificamos que se repetirá del 0 al 1 y del 1 al 21.

do (echo %%i) Esto es la función que se ejecutara en cada repetición del comando, en este caso un echo que imprimirá la variable.

Batch en algunos casos SI reconoce entre mayúsculas y minúsculas, como en el caso de la variable %%i si esta se llamara %%I no seria reconocida como la misma.

Otro uso que puede ser aplicado en el FOR es el listado de carpetas o archivos, como veremos a continuación:

Listado de archivos:

@echo off
FOR %%x in (a*) DO echo %%x
pause

Este código, listaría todos los archivos que comienzan con A.

¿Por que? * (asterisco) es un signo comodín, por lo cual al poner a*, estamos diciendo cualquier archivo que tenga una A delante y luego cualquier cosa.

Otro ejemplo del uso de comodín, es listar archivos con extensión común como seria este:

@echo off
FOR %%x in (*.jpg) DO echo %%x
pause

Aqui nos estaria listando todos los archivos que tengan la extensión .jpg

Listado de Carpetas:

FOR /D %%x in (a*) DO echo %%x

Es casi lo mismo anterior, tan solo que al indicar /D solo se aplica a directorios.

Si quisiéramos que se listaran los directorios, juntos a los directorios que tienen estos dentro se ocupa /R

FOR /R /D %%x in (a*) DO echo %%x

y si quisiéramos listar todos los documentos que están dentro de una carpeta contando los que están dentro de carpetas se ocupa solamente /R (Sin /D)

FOR /R %%x in (a*) DO echo %%x

Con esto creo que tenemos lo básico, y más importante de los condicionales.

Creación de Menús:

Como ya vimos Condicionales y Etiquetas les enseñare una manera de hacer Menús.

Comenzaríamos indicando las instrucciones y las opciones, de esta manera:

@echo off
:Menu
cls
echo Seleccione su opcion tecleando el numero respectivo.
echo.
echo 1. Primera Opcion
echo 2. Segunda Opcion
echo 3. Salir

Luego para seguir ocuparíamos esto:

set /p var=
if %var%==1 goto :P rimero
if %var%==2 goto :Segundo
if %var%==3 goto exit
if %var% GTR 3 echo Error
goto :Menu

Con esto damos una variable en la que se guardara el numero insertado para luego ser verificado por los condicionales, si el numero es mayor que 3 nos avisara que no existe esa opción. También al principio cree una etiqueta para que se pueda volver

al menú y un “cls” para limpiar la pantalla.

Para terminar creamos las respectivas etiquetas.

 :P rimero
cls
color a
Echo Esta es la Primera Opcion
Echo Precione una tecla para volver al menu
Pause>Nul
goto :Menu
:Segundo
cls
color 1a
Echo Esta es la Segunda Opcion
Echo Precione una tecla para volver al menu
Pause>Nul
goto :Menu

Quedando para terminar nuestro codigo así:

@echo off
:Menu
cls
echo Seleccione su opcion tecleando el numero respectivo.
echo.
echo 1. Primera Opcion
echo 2. Segunda Opcion
echo 3. Salir
set /p var=
if %var%==1 goto :P rimero
if %var%==2 goto :Segundo
if %var%==3 goto exit
if %var% GTR 3 echo Error
goto :Menu
 :P rimero
cls
color a
Echo Esta es la Primera Opcion
Echo Precione una tecla para volver al menu
Pause>Nul
goto :Menu
:Segundo
cls
color 1a
Echo Esta es la Segunda Opcion
Echo Precione una tecla para volver al menu
Pause>Nul
goto :Menu

Bueno, con eso les basta para imaginarse como crear sus menús personales.

Como vieron puede cada sección tener su color, incluso puedes cambiar la barra de titulo.

Ve probando, no pierdes nada.

Apagado y Reiniciado de Pc:

Una cosa muy interesante que puedes hacer con Batch es Apagar y Reiniciar tu Pc, incluso programarlo para que apague a la hora que desees.

Es notablemente fácil.

se ocupa de la siguiente manera el apagado.

shutdown -s -t Tiempo -c “Comentario”

donde -s significa que lo apagaremos, -t debe ir seguido de los segundos que demorara apagar. En windos XP mostrara un contador, con el comentario que va luego de -c, pero en Windows Vista no abra ni un contador, solamente saldrá una alerta con el Comentario, que ni siquiera es obligatorio.

Bueno, de seguro quieres hacer la prueba. La puedes hacer pero antes de eso te recomiendo que leas lo siguiente.

Puedes cancelar el apagado (Antes de que el contador termine) solamente escribiendo shutdown -a ya sea en un archivo de texto con extensión bat, como en el mismo Shell.

Entonces, pues has la prueba


shutdown -s -t 999999 -c "Esto se esta apagando"

Tendrás suficiente tiempo para ejecutar el siguiente código. (11 días Riendo )

shutdown -a

Con esto ya probamos los dos y podemos ser felices.

Ok, si en vez de ocupar -s usas -r el PC se reiniciara.

También puedes forzar el cierre de los programas, para que no de tiempo de guardar nada. Tan solo ocupando -f

Un ejemplo de un Pc, que se Apaga Forzosamente y que puede dañar el pc y luego se reinicia es este:

shutdown -r -f -t 0 -c "Bye"

(No lo recomiendo probar en tu pc, Ya que apaga el pc en 0 segundos sin preguntar nada. )

Para programar un apagado lo veremos al final en los Datos Extras, ya que con la función AT puedes programar el apagado.

Leer archivos externos:

Para leer un archivo externo con Batch, como un archivo de texto por ejemplo. Se usa el siguiente código:

type "NombreDelArchivo.txt"

¿Simple no?

Insertar al Registro:

Insertar al registro tu Batch puede ser muy útil, la verdad yo no entiendo mucho del registro pero leí un poco y aquí tienen un ejemplo que se encuentra a ser sincero en muchas web. Donde aremos que nuestro batch se ejecute con el Sistema.

REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v MIBATCH.bat /t REG_SZ /d

C:\MIBATCH.bat

Con la función REG ADD Agregamos algo al registro. Con otros comando podemos borrar.

Lo que sigue es la “Dirección” de donde insertaremos el registro que en este caso sera para que nuestro batch se ejecute al iniciar Sesión.

En medio de toda la dirección se puede leer MIBATCH.bat yo puse el nombre del Batch pero también se puede poner cualquier otra cosa. Más adelante donde dice C:\MIBATCH.bat, es la dirección completa de donde esta nuestro Batch.

Con solo esta linea estamos listos. Haz la prueba!

Otras cosas útiles:

Para terminar hablare de pequeñas funciones que pueden ser de utilidad.

Msg

Esta función tiene otras utilidades, pero les enseñare esta que no funciona en todos los PC.

Sirve para abrir una alerta con un mensaje su utilización es la siguiente:

msg * EsteEsMiMensaje

AT

Esta es una de las que más me gusta, es para programar alguna acción a cierta hora.

Ejemplo:

At 20:00 msg * Son Las 8 de la noche

Con esto a las 20:00 nos aparecerá un mensaje que nos dirá que son las 8 de la Noche.

También puedes programar un apagado o cualquier Cosa.

Si la hora que das ya paso, se tomara como para el día siguiente.

Creo que he terminado, me costó un poco. Ojala no me haya faltado nada. Disfrútenlo y seria bueno que los Clabers aporten con más información. Yo creo que seria útil para todos, incluyéndome.

Suerte.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Post Relacionados:

39 Respuestas to “Programación en Batch 2º Parte.”

  1. Bran_smith says:

    Amigos yo le quiero pedir un favor es para que me ayuden con un codigo o un programa me gustaría que fuera en bat. quiero un programa que le cambie el nombre a una carpeta, el problema es que es una base de datos y las carpetas se crean a diario con la fecha necesito algo que le cambie en nombre a la carpeta del dia ejemplo: 04242008 asi son las carpetas como puedo hacer para hacer un programa para que le cambien el nombre a la carpeta del dia espero pronta respuestas. Gracias

  2. admin says:

    Con la Función Rename se puede cambiar el nombre de un Archivo, jamas e probado con una carpeta. Haz la prueba.
    Aunque no entiendo bien lo que quieres lograr.
    ¿Quieres que solo la carpeta del día actual cambie su nombre?
    o que todas?

  3. serg says:

    no puedohacer lo del registro, me dice demasiados parametros en la linea de comandos

  4. admin says:

    Las dos primeras lineas pareciera que REGG ADD va en una linea y luego lo siguiente en otra. Es que deberia verse todo en una sola linea.

    REGG ADD HKEY_CURRENT_USER\Soft....
    C:\MIBATCH.bat

    eso puede afectar.

  5. KeNnY says:

    Hola… l que yo queria saber es… como puedo abrir otro bat con un bat… osea…

    Quiero que el bat1.bat abra a “bat2.bat”
    y ojalas se puedan hacer como lo sgte:

    Bat1.bat abra a “bat2.bat y bat3.bat”

    Igual muy bueno tu tutorial gracias…

    By_KeNnY

  6. JaLeRu says:

    Sale en la primera parte del tutorial.
    http://jestudio.cl/blog/programacion-en-batch-1%c2%ba-parte/

    Se ocupa:

    start "direccion/batch.bat"
  7. KeNnY says:

    okaz
    gracias

  8. KeNnY says:

    @ECHO OFF
    TITLE Instalador Game
    cls
    ECHO ****************************************
    ECHO ** **
    ECHO ** Instalador Game **
    ECHO ** **
    ECHO ****************************************
    set /P sitio=Escribe “Game” ( tal como esta… y mayusculas) aqui—-):
    MD %sitio%
    CD %sitio%
    MD RES
    MD BGM
    MD SE
    CD C:\
    CD BGM
    copy “*.mp3″ “C:\Game\BGM\*.mp3″
    CD c:\
    CD SE
    COPY “*.mp3″ “C:\Game\SE\*.mp3″
    CD C:\
    CD RES
    COPY “*.png” “C:\Game\RES\*.png”
    CD c:\
    CD DLL’s
    COPY “*.dll” “C:\Game\*.exe”
    ECHO ****************************************…
    ECHO ** **
    ECHO ** **
    ECHO ****************************************…
    ECHO ** A Finalizado el Instalador **
    ECHO Presiona una tecla para Cerrar el Instalador
    pause>nul
    exit

  9. KeNnY says:

    como vees necesita algunos archivos extras… por eso te digo que si te mando el instalador completo… eso byezz

    By_KeNnY

    From: Chile

  10. KeNnY says:

    otra pregunta que recien pille… como puedo hacer para guardar todo lo que puse y salia en el batch en un archivo de texto u otro??

    Gracias

  11. JaLeRu says:

    Para “escribir” en otro archivo.
    Sale en la primera parte del tutorial. xD leetelo y luego me preguntas.

    echo A escribir >> donde.txt

    … Mas menos así.

  12. KeNnY says:

    no me entendiste la pregunta xD…

    mira… si puse lo sgte en el bat:

    Echo OFF
    color 30
    title Reg Edit
    cls
    set /p sitio=Escriba el Directorio donde se Instalaran los Archivos Temporales:
    md %sitio%
    cls
    pushd /%sitio%
    chdir
    chkdsk /L
    chkntfs c:
    dir C:\
    vol
    ver
    ECHO Presione una tecla para guardar las configuraciones en el registro
    pause>nul
    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v RegEdit.bat /t REG_SZ /d C:\game\RegEdit.bat
    pause

    Ya… lo que quiero saber es como guardar toooooodo lo que salio en ese archivo temporal que salia al principio

  13. KeNnY says:

    el pushd /%sitio%… borralo xD

    es que lo estaba buscando en otras paginas… pero no me funciono porque no lo explica bien ni el:
    ECHO OFF
    CLS
    Help PUSHD <————-Eso xD… eso ni me lo explica bien xD

  14. KeNnY says:

    Sabes… Hasta pude agreguar el batch al registro xD

    Muy Bueno tu tutorial… y me funciono asi:

    REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v (Aqui escribe el nombre de tu registro) /t REG_SZ /d [Aqui escribe el directorio de tu batch(Ejemplo: C:\RegBat.bat)

  15. numma332 says:

    Soy un completo ignorante en esto… he leído los tutoriales 1 y 2 y he aprendido mucho…excelente. He tratado de hacer un bat para que cuando abra mi pendrive se ejecute automáticamente un mp3. He intentado con las ‘herramientas’ que he aprendido pero no logra hacerlo funcionar. Si pudieras explicarlo te lo agradecería mucho… quizá le sirva a otros también.

  16. JaLeRu says:

    Al parecer es imposible al menos que instales programas secundarios.

  17. KeNnY says:

    … para mi… que tambien es dificil… pero todo es posible…

    solo mandame el nombre de tu pendrive dentro del pc (Ejemplo: “D:” o “E:”) y si quieres todas las canciones “o” una sola (si es una sola… dime el nombre) (Solo mp3 porfa xD)(y trata de que no sean ni 2 ni 3 o 4 que es mas dificil xD).

    Eso… adios y quizas me pase “ALGUN DIA!” xD

    By_KeNnY

  18. Reito says:

    Hola gracias por los tutoriales gracias a ti aprendi a programar en batch pero tengo ua duda sobre el comando at
    por ejemplo yo kiero que una imagen en extension .jpg que se encuentra dentro de la misma carpeta que se abra alas 0:0 horas mira yo escribo esto:

    AT 0:00 start imagen.jpg

    o de esta otra forma

    AT 0:00 start “./imagen.jpg”

    Pero al llegar ala hora no abre nada

    Me podrias enseñar como hacer para abrir esta imagen ??

  19. JaLeRu says:

    Deberia funcionar. Recuerda que esa orden se efectuara una vez, un dia despues de haber sido ordenada.

  20. ignacio says:

    hola muy buen lugar de aprendizage de programacion en .bat

    he podido hacer muchas cosas como un respaldador y que a la vez comprime en .rar el respaldo y le pone fecha
    lo unico que me gustaria hacer es una barra como de carga para ver el estado del proceso es decir una barrita que se este llenando hasta que acabe el programa

    eso si alguien me da una ayudita ningun problema en compartir lo que he aprendido

  21. JaLeRu says:

    Para el respaldador… Se me ocurre nada más que sacando el total de archivos a copiar, saques un promedio y luego cada X numero de archivos copiado (Que represente el 1% de los archivos, agregues un signo |, talvez sea una idea muy burda.
    De manera que al 100 forme una barra.
    |||||||||||||||||||||||||||||||||||||||||||

    Ejemplo, si el numero de archivos a copiar es 400.
    Cada 4 archivos copiados seria un 1%((400/100)*1).
    Si quisieras una cada 10%, seria cada 40 archivos.
    ((400/100)*10)

    Suerte.

  22. ignacio says:

    ok es lo mismo que pense pero me falta la syntaxdel comando

  23. ignacio says:

    ya compartire este programa inventado por mi para solucionar algunos problemas con archivos complicados
    o mas bien que si lo copiamos por windows se corrompen facilmente

    ________________________________________________________

    @echo off
    @echo Respaldador de Archivos

    IF NOT EXIST c:\respaldo\xxxxxdia\”xxxxx %date:~6,4%%date:~3,2%%date:~0,2%” GOTO SIGUE

    echo Respaldo para el dia ya efectuado.Gracias
    GOTO END

    :SIGUE
    mkdir c:\respaldo\xxxxx\”xxxxx %date:~6,4%%date:~3,2%%date:~0,2%”
    xcopy c:\xxxxx\*.* c:\respaldo\xxxxxdia\”xxxxx %date:~6,4%%date:~3,2%%date:~0,2%” /s/e/v/c/h/y/d/q
    cd c:\respaldo\xxxxxdia\”xxxxx %date:~6,4%%date:~3,2%%date:~0,2%”
    winrar a -r -df “xxxxx %date:~6,4%%date:~3,2%%date:~0,2%”.rar *.*
    rem
    pause
    echo Respaldo efectuado correctamente… Puede cerrar la plicacion
    ,o presione un boton para cerrarla
    :END
    exit
    ________________________________________________________

    este fue un programa que me saco de apuros ahora me falta ponerle lo de la barra que se llena durante la ejecucio y trabajo de la rutina

    como ven el archivo donde se guarda queda fechado y a su vez se comprime reduciendo espacios que lo mas importante
    bueno espero que me puedan ayudar con la syntaxis de la dichosa barra
    adios

  24. ignacio says:

    hola JaLeRu

    ya puse el programa, ahora me podrias ayudar un poquito mas con el tema de la linea para que se vea la barra cargando en el batsh cuando se ejecuta
    creo que siendo bien onesto y sin jactansia de nada este es un aportaso a los que quieren hacer un sistema de respaldo con fecha y ejecutable desde el inicio de windows y seria agradable verlo con una barra que indique su operacion
    esop saludos y gracias por sus comentarios

  25. ignacio says:

    y que paso no tengo respuestaaun estoy vuelto loko buscando algo para completar mi codigo

  26. JaLeRu says:

    Es que.. no lo pude lograr intente.
    Es que no conozco la forma de hacer que una variable se modifique dentro de un FOR.
    Por ejemplo:

    set /a N=
    for %%X in (*) do (set /a N= %N%+1)
    echo %N%
    pause

    Como vez, esto no funciona..por que las variables dentro de un FOR no se toman igual.

  27. ignacio says:

    yo habia intentado hacer que el prom apareciera como el hash del shell de un ftp
    pero aun estoy buscando como lograr ese efecto es complicado parece pero seria muy interesante lograrlo ahora que opinas de toda la secuencia que cree
    las variables del xcopy son variadas y muy utiles a la hora de hacer un respaldo
    tambien si ustedes uieren hacer el respaldador aun mas seguro den le la orden de reemplazar los ficheros una vez compresos a un .old y asi les queda protegido de ataques a archivos .exe es muy util el batch y sus derivados
    ojala JaLeRu podamos dar con la forma de hacer las variables
    seguire investigando ysi alguien sabe o tiene una idea ayudenos a completar el programita
    esop

    ignacio vinnett

  28. M@nuloko says:

    Una Pregunta quisiera mandarle algun mensaje a otra pc alguien me podria decir como lo ago?? o dejarme el codigo porfa

    Esq sos muy nuevo en esto y quisiera aprender gracias
    att. M@nuloko

  29. khourt says:

    Para :M@nuloko (…y quien después lo necesite)

    Bueno, pues creo que el comando que se utiliza en este caso es el comando NET SEND. la sintaxis:
    @echo off
    net send [NombrePC] [Mensaje]
    exit

    El usuario debe de escribirse según el nombre del equipo que tiene la computadora de destino. ademas de pertenecer al mismo grupo de trabajo. Ej.
    Nombre completo del equipo:Compaq510
    Miembro de
    -grupo de trabajo:Home (que es uno de los que están por default generalmente)

    Ademas de que debes de cerciorarte que ambas computadoras tengan activadas y en funcionamiento el servicio de mensajero.
    Para activarlo –> Panel de control –> Herramientas administrativas –> Servicios …

    Esto abrirá la consola de servicios, en la cual podemos activar o desactivar servicios de windows (como las actualizaciones, temas, consola de fax y mas), es muy importante tener cuidado con que servicios se activan o desactivan, por que un manejo descuidado puede causar problemas posteriores, desde que el audio de windows funcione mal, o de plano no lo haga, hasta deshabilitar el firewall y sufrir posibles infiltraciones. Ten en cuenta que cada servicio cuenta con una descripción de lo que hace para tener mayor conocimiento de que estamos modificando, si no, busca en internet sobre el servicio (existen muchos temas sobre esto).

    Bueno el servicio que nos interesa es el “Mensajero” –> al encontrarlo solo damos doble click para abrir sus propiedades, y habilitamos –> tipo de servicio –> automático (así se iniciara el servicio al iniciar nuestro ordenador), después en la sección de “estado de servicio” con el botón iniciar activaremos el mensajero. y listo ahora ya se pueden mandar mensajes con el shell de windows. Importante que agregues al firewall de windows el servicios de mensajero en excepciones, por si tienes problemas, y también si tienes otro firewall aparte del de windows, agregalo a este también.

    como también estoy empezando en esto del batch, y me parece adecuando preguntar, como crearíamos un batch que haga todo esto?? La activación de los servicios.

    Bueno y el batch ?? Tu pregunta me agrado, y se me ocurre, para poner un ejemplo; hacer un batch el cual ocultaremos en el menú de inicio de windows (C:\Documents and Settings\All Users\Menú Inicio\Programas\Inicio) con la finalidad de que nos avise cuando la computadora se inicie (sin que se entere el usuario, por eso el esconderlo). Según yo, esto quedaría así:

    start net send Compaq Fulanito ha iniciado seción.

    Donde Compaq es el equipo de destino, y Fulanito la persona que inicio sesión, aquí podríamos poner el mensaje que sea. La verdad justo ahora no lo puedo chekar, y si me equivoco, que alguien me corrija de favor. A esto pregunto, el modo de transferir archivo (leí por ahí que con ayuda del comando net send se podía) y algun modo de iniciar un programa en una PC de la red. Se me ocurrio a partir de esta pregunta.

    Para mas información, recomiendo accedas a la ayuda del comando dentro del la linea de comando Net send /?

    Bueno, pues un saludo y espero que esto sea de ayuda.

  30. diego says:

    muy buen tutorial…. ^^ felicitaciones….

  31. Max says:

    Hola amigos, quisiera preguntar si es factible mediante un archivo .BAT que se ejecuta al iniciar la maquina, copiar N archivos desde una carpeta alojada en un servidor a una carpeta en mi computador, y cual mas menos sería la sintaxis.

    Gracias.

    Ah… muy bueno el tutorial

  32. JaLeRu says:

    Si puedes hacer que inicie con el pc, pero no se si podrás copiar un archivo que este en un servidor. Tal vez si buscas por Internet encuentres tu respuesta ;) .

  33. Esteban says:

    Hola queria preguntarles si se me pueden ayudar en una duda q tengo, realize un .bat y aca paso a explicarle el problema:

    @echo off
    taskkill /f /im esclavo.exe |
    ren c:\windows\system32\esclavo.exe esclavo1.exe
    “C:\WINDOWS\system32\ping.exe” inferno.muargentina.com -t

    mi duda es, como a este .bat lo va a usar mas de una persona, quiero ver si se puede realizar esto:

    que me pregunte si deseo realizar el ping a “inferno.muargentina.com” y dar una respuesta con “y” o con “n”, en caso q sea negativa que realize ping a “google.com”, mi duda es si se puede realizar esta pregunta y en caso de responder negativamente q salte a la proxima accion!

    @echo off
    taskkill /f /im esclavo.exe |
    ren c:\windows\system32\esclavo.exe esclavo1.exe
    (preguntar si quiero realizar ping)
    “C:\WINDOWS\system32\ping.exe” inferno.muargentina.com -t
    (en caso de responder que no… preguntar si quiero realizar esto)
    “C:\WINDOWS\system32\ping.exe” google.com -t

    desde ya espero su respuesta, la pagina esta muy buena y cada vez q surge un problema recurro a ella!

  34. JaLeRu says:

    La verdad poco se sobre pings, pero ¿Haz intentado con el condicional IF?

  35. Manuel says:

    Gracias por el tutorial.
    Tengo una pregunta.
    Como puedo hacer con el siguiente caso: Tengo una carpeta de nombre “AAA”. Dentro de esta carpeta tengo un archivo “leeme.txt” y una carpeta llamada “Files”.
    Como puedo indicar en un .bat que me copie el archivo y la carpeta a una cierta ubicacion de C:\
    El .bat esta en la misma carpeta que el txt y la carpeta “File”.

    Gracias

  36. velbox says:

    Hola a todos:

    Estoy tratando de crear un .bat que me tire en cmd un username option y un password option. El username es 1234 y el password 4321. La idea es que si al insertar el username no corresponde a 1234 me despliegue un mensaje como:

    USERNAME FAILED – TRY AGAIN

    y a su vez devolverme al username option.

    Si el username es correcto, se debe proceder a insertar el password. Si el password es incorrecto me debe de tirar un mensaje que diga:

    PASSWORD FAILED – TRY AGAIN

    y a su vez devolverme al username option.

    He tratado de multiples formas creando etiquetas y nada. O no me muestra uno de los mensajes que quiero que me muestro o me termina el proceso. Este fue el ultimo script que trate y no queda como quiero.

    ————————————————————————————–
    @echo off
    echo – PASSWORD RECOGNITION (USO DEL COMANDO IF) >> test_2.txt
    echo – PASSWORD RECOGNITION (USO DEL COMANDO IF)
    :username
    set /p username=username:
    if %username% neq 1234 echo !!! USERNAME FAILED – TRY AGAIN !!!
    set /p password=password:
    if %password% neq 4321 echo !!! PASSWORD FAILED – TRY AGAIN !!!
    pause>nul
    goto :username
    ————————————————————————————–

    Aprovecho para preguntar o confirmar (ya que al aplicarlo previamente no me funciono):

    1) puedo poner dos condiciones IF simultaneas haciendo referencia a una misma variable, ejemplo:

    set /p username=username:
    if %username% neq 1234 echo !!! USERNAME FAILED – TRY AGAIN !!!
    if %username% neq 1234 goto :username

    O

    set /p password=password:
    if %password% neq 4321 echo !!! PASSWORD FAILED – TRY AGAIN !!!
    if %password% equ 4321 goto :access (esto para que me envie a una etiqueta que contenga el mensaje)

    2) Esta pregunta viene implicita en la primera. Se puede utilizar el comando IF como:

    IF (variable) operador (EQU , NEQ , LSS .etc) comando o instruccion (goto , set , shutdown , .etc)

    Agradeceria mucho cualquier comentario de ayuda y muchas felicidades al creador del tutorial, excelente aporte para los que estamos comenzando a incursionar en la automatizacion de tareas por medio de los .bat .

    Saludos,

  37. fernando says:

    Hola… me pueden decir como hacer un virus… vueno que cuando prenda la compu me empiecen abrir muchos programas xfavor escrivanme a este correo ferchu02010@hotmail.com envíenme un mensaje instantáneo…..
    Gracias

  38. F_4 says:

    MMMMMM HOLA ME GUSTARIA SABER COMO EXTRAER ARCHIVOS DE MAQUINAS RAPIDAMENTE SIN SER DETECTADO YA KE HICE UNA APLICACION PARA GUARDAR CORREOS Y CONTRASEÑAS EN UN CYBER Y DESEO SACARLOS SIN SER DETECTADO MMMMM LA LOCALIZACION ESTA EN EL DISCO LOCAL C MMMM PERO NO SE COMO ENCONTRAR LA HUBICACION DE MI PENDRIVE PARA KE NO HALLA ERROR Y KE NO SE VEA LA VENTANA DE PROCESO

  39. Xx-BAT-xX says:

    A mi en WINDOWS 7 no me funciona esto

    At 20:00 msg * Son Las 8 de la noche

    Me dice:

    Acceso denegado

    Que puedo hacer ?

Deja un comentario


JaLeRu Blog vive gracias a WordPress
Entradas RSS y Comentarios RSS.