You are on page 1of 111

Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.

com/tutoriales/lenguaje-batch

Home
Foro
¿Quiénes somos?
Contacto

TodoHacker

Noticias
Tutoriales »

6 julio, 2008 Autor: 4m1g0   Tutoriales   267 Comentarios

Lenguaje batch tutorial y comandos básicos .bat

Este es un tutorial sencillo para principiantes en el que se intenta explicar de la forma


mas simple los principales comandos.
El lenguaje batch no es muy difícil pero para personas que se estén iniciando puede
resultar un poco complicado así que intentare explicarlo de la forma mas sencilla
posible.

¿Qué es batch?
Un archivo batch es un archivo de texto sin formato guardado con la extensión bat y
que contiene un conjunto de ordenes llamadas comandos de DOS.
en resumen un archivo batch es un archivo de texto en el que se a escrito un conjunto
de códigos que van a ser ejecutados de forma lineal (ya lo irán entendiendo con
ejemplos mas adelante) y ese archivo de texto debe ser guardado con la extensión .bat,
es decir un nombre cualquiera.bat ej: nombredelarchivo.bat

Es muy útil para automatizar tareas, por ejemplo un programa que nos abra todas las
herramientas que necesitamos para trabajar en un determinado proyecto, de esta
forma cada vez que queramos trabajar solo tendremos que pulsar un botón y no hará
falta abrir una a una todas las aplicaciones necesarias, pero su utilidad no se queda en
esto, todo hacker debe conocerlo, especialmente su equivalente en linux: los scripts de
bash.

La terminación bat viene del propio nombre del lenguaje (batch) que debido a que las
extensiones de archivos (.bat, .exe, .txt etc) solo pueden tener 3 letras quedo reducido
a eso.

PARTE 1

Lo primero que debemos hacer es abrir un archivo de texto y guardarlo con un nombre


seguido de .bat tal como expliqué anteriormente en ese archivo vamos a poner
nuestros comandos.

Empecemos quitando el eco, para eso escribimos: @echo off

1 @echo off
2 pause
3 exit

Si no sabes lo que es el eco prueba a quitar @echo off y veras lo que pasa.

1 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Pause sirve para hacer una pausa en la secuencia (pulsa una tecla para continuar)
y exit sirve para finalizar

Bien ahora vamos a continuar con otro código: el echo y el echo. (nótese el punto)

El echo sirve para escribir algo en pantalla por ejemplo echo hola escribiría hola en la
pantalla
y echo. sirve para dejar un espacio

1 @echo off
2 echo.
3 echo Hola TodoHacker
4 echo.
5 echo Como estas?
6 pause
7 exit

Prueba a ponerlo y comprueba lo que pasa

Es muy importante que vayas entendiendo todo esto paso a paso sino se irá
complicando bastante.

Ahora vamor a ver una variacion del pause: pause>NUL, sirve para hacer una pausa
sin poner nada en la pantalla podéis probarlo sustituyendo pause por pause>NUL en
los códigos anteriores

Esto lo vamos a utilizar para poner nosotros el mensaje que queramos en vez del “pulsa
una tecla para continuar”
y lo vamos a hacer poniendo algo seguido de pause>NUL veréis el efecto

1 @echo off
2 echo.
3 echo Pulsa una tecla para ir a la siguiente parte del tutorial de todohacker.com
4 pause>nul
5 echo.
6 echo Bienvenido a la segunda parte del tutorial
7 echo.
8 echo Pulsa una tecla para salir
9 pause>nul
10 exit

PARTE 2

El comando cls sirve para borrar la pantalla.

1 @echo off
2 echo.
3 echo Pulsa una tecla para ir a la siguiente parte del tutorial
4 pause>nul
5 cls
6 echo.
7 echo Bienvenido a la segunda parte del tutorial de todohacker
8 echo.
9 echo Pulsa una tecla para salir
10 pause>nul
11 exit

Este es muy sencillo, ejecútalo y te darás cuenta de su utilidad.

Ahora vamos a pasar a las variables, algo que tienen casi todos los lenguajes
de programación y que, como verás, te da infinitas posibilidades.

Una variable es un nombre que designa un valor y como su nombre indica puede variar.
Gracias a esto podemos guardar valores y darles nombre.

Para poner una variable debemos escribir se nombrevariable= valor. ej: set nombre=


pepito

y para referirnos a esa variable debemos escribir el nombre de la variable entre


%% ejemplo: hola %nombre%

1 @echo off
2 set nombre= Pepito
3 echo.
4 echo Hola %nombre%
5 echo.

2 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

6 pause
7 exit

Es muy fácil pero es importante que lo entiendas, por que en esto se basa todo lo que
viene a continuación, si te estas preguntando por que es realmente importante, ahora
vas a verlo.

Ahora vamos a hacer que podamos poner nosotros mismos la variable, es decir que la
persona que usa el programa puede asignar un valor.para eso en vez de poner set
debemos poner set/p

ej: set/p nombrevariable= valor

1 @echo off
2 echo.
3 set/p nombre= ¿Como te llamas?
4 cls
5 echo.
6 set/p años= ¿Cuantos años tienes?
7 cls
8 echo.
9 echo Hola %nombre% tienes %años% años.
10 echo.
11 echo Pulsa una tecla para salir.
12 pause>nul
13 exit

Una vez entendido esto vamos a empezar a utilizar las variables por ejemplo para hacer
operaciones con ellas.
Para eso utilizaremos set/a. es como el set/p pero no se muestra en pantalla y realiza
operaciones, porcentajes, sumas, restas etc.

Estos son los signos que podemos utilizar:

+ para sumar
– para restar
* para multiplicar
/ para dividir

Y lo vamos a expresar así:

1 @echo off
2 echo.
3 set/p numero1= Dime un numero
4 cls
5 echo.
6 set/p numero2= Dime otro para sumar al anterior
7 cls
8 set/a suma= %numero1% + %numero2%
9 echo.
10 echo %numero1% + %numero2% = %suma%
11 echo.
12 echo Pulsa una tecla para salir.
13 pause>nul
14 exit

PARTE 3

En esta parte del tutorial vamos a aprender a trabajar con if, if not, else y goto.

If sirve para expresar una condición. Es decir si pasa esto entonces haz esto. Para ello
vamos a utilizar la siguiente estructura: if condición acción
ejemplo: if %variable%==4 echo bien!! esto quiere decir que si el valor de la variable
es igual a cuatro entonces escribe “bien!!”

Las distintas condiciones que podemos comprobar con un if en batch son las
siguientes: (operadores)

if variable==valor (para expresar si la variable es igual a valor haz esto)


if variable LSS valor (para expresar si la variable es menor a valor haz esto)
if variable GTR valor (para expresar si la variable es mayor a valor haz esto)
if variable LEQ valor (para expresar si la variable es menor o igual haz esto)
if variable GEQ valor (para expresar si la variable es mayor o igual haz esto)

if not se utiliza igual que if pero expresa todo lo contrario ej:

3 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

if not variable==valor (para expresar si la variable NO es igual a “valor”)  y lo mismo


con el resto de condiciones vistas arriba.

1 @echo off
2 echo.
3 set/p variable= ¿Cuanto son 2 + 2?
4 cls
5 echo.
6 if %variable%==4 echo bien!!
7 echo.
8 pause
9 exit

Aquí también se podría utilizar el goto que sirve para enviar la lectura de comandos a
otro sitio del bat por ejemplo if variable==valor goto correcto, después mas abajo
pondríamos una “etiqueta” con ese nombre después de dos puntos ej: :correcto así
quedaría: si variable es igual a valor entonces ir al menú “correcto” y en el ya
escribiríamos lo que queramos con un ejemplo lo vas a entender mucho mejor.

1 @echo off
2 echo.
3 set/p variable= ¿Cuanto son 2 + 2?
4 cls
5 echo.
6 if %variable%==4 goto correcto
7 echo.
8 :correcto
9 echo bien!!
10 pause
11 exit

En este caso no tendría mucho sentido pero cuando tenemos más variables y muchas
opciones a elegir es esencial útil ya lo iréis viendo

Este ejemplo indicaría que si la respuesta a la pregunta “¿cuanto son 2+2?” es 4


entonces escribe bien!!
pero ¿qué pasa si la respuesta no es esa? pues para eso sirve else, se utiliza así:
if variable==valor goto correcto else goto incorrecto esto significaría que si la
respuesta es 4 entonces escribe bien pero si la respuesta es cualquier otra cosa escribe
mal!!!

1 @echo off
2 :inicio
3 echo.
4 set/p pregunta= ¿cuanto son 2 + 2?
5 cls
6 echo.
7 if %pregunta%==4 goto correcto else goto incorrecto
8 :incorrecto
9 echo.
10 echo Mal!!
11 echo.
12 echo Vuelve a intentarlo
13 pause
14 cls
15 goto inicio
16 :correcto
17 echo.
18 echo Bien!!
19 echo Pulsa una tecla para salir de este ejemplo de www.todohacker.com
20 pause>nul
21 exit

He añadido lo de inicio por que así si es incorrecto vuelve a empezar.

Una vez que hemos llegado hasta aquí si lo habéis entendido podréis hacer cosas como
esta:

1 @echo off
2 :inicio
3 echo.
4 set/p variable= ¿cuanto son 2 + 2?
5 cls
6 echo.
7 if %variable%==4 goto correcto else goto incorrecto
8 :incorrecto
9 echo.

4 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

10 echo Mal!!
11 echo Intentalo de nuevo
12 pause
13 cls
14 set/p variable1= ¿Cuanto son 5 - 3?
15 cls
16 if %variable1%==2 goto correcto else goto incorrecto1
17 :incorrecto1
18 echo.
19 echo Mal!!
20 echo Intentalo de nuevo
21 pause
22 cls
23 set/p variable2= ¿Cuanto son 4 * 4?
24 cls
25 echo.
26 if %variable2%==16 goto correcto else goto incorrecto2
27 :incorrecto2
28 echo.
29 echo mal!!
30 echo.
31 echo Intentalo de nuevo
32 pause
33 cls
34 goto inicio
35 :correcto
36 echo.
37 echo Bien!!
38 echo Presione una tecla para salir de este ejemplo de www.todohacker.com
39 pause>nul
40 exit

Te animo a que lo pruebes y te diviertas un rato modificandolo, échale imaginación, no


hay limite a lo que puedas hacer

PARTE 4

En esta parte vamos a ver algo muy sencillo, se trata del código de colores de las letras
y el fondo de la consola simplemente se expresa con una combinación de números y
letras de esta forma:

Primero ponemos color, para indicar que lo que le vamos a decir es el color del la letra
y el fondo, y seguidamente debemos poner dos números sin espacio, el primero es el
color del fondo y el segundo el color de letra.

Código de colores:

A = Verde claro
B = Aguamarina claro
C = Rojo claro
D = Púrpura claro
E = Amarillo claro
F = Blanco brillante
0 = Negro
1 = Azul
2 = Verde
3 = Aguamarina
4 = Rojo
5 = Púrpura
6 = Amarillo
7 = Blanco
8 = Gris
9 = Azul claro

 Sabiendo esto, si queremos que el fondo sea blanco y las letras negras ponderemos
color 70 pruebalo tu mismo. Abajo hay unas fotos explicativas.
Ahora otra cosa muy sencilla.
No se si os habéis fijado en la barra de titulo de la terminal, pone por defecto la
ubicación en la que nos encontramos, normalmente system32.

Pues esto se puede cambiar poniendo simplemente “title” y el nombre que le queramos
poner.

5 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Pondré un ejemplo conjunto para los códigos de color y titulo.

1 @echo off
2 title Prueba de color www.todohacker.com
3 color 70
4 echo.
5 echo Bienvenido a la prueba de color del cmd de todohacker.com
6 echo.
7 echo Pulsa una tecla para cambiaer al siguente color
8 pause>nul
9 color 4f
10 pause
11 exit

Prueba a cambiar los colores para entenderlo mejor.

Ahora vamos a ver redireccionamientos, son muy útiles ya lo verás.


Se utiliza > para escribir algo y >> para añadir algo a un documento que ya tenia algo
escrito por ejemplo.
Se utilizan así: echo hola>archivo.txt esto escribiría hola en un archivo de texto situado
en el directorio en el que nos encontramos, es decir por defecto en el que tenemos
guardado el archivo de bat que ejecuta esta orden. Si el dicho archivo de texto con
nombre “archivo” no existe lo crea.

1 @echo off
2 echo pulsa una tecla para crear el archivo
3 pause>nul
4 echo hola, esto es un ejemplo de todohacker.com > archivo.txt
5 echo archivo creado
6 pause
7 exit

Si os fijáis nos crearía un documento de texto en el escritorio (en caso de que el bat
este en escritorio) con el nombre de “archivo”, y escribiría dentro hola se pueden crear
otro tipo de archivos, modificando la extensión, .txt, .bat etc.
Pero que pasaría si en el archivo queremos escribir mas lineas? en ese momento es
cuando utilizamos el >>. si tenemos un documento de texto que pone hola y le decimos
que escriba otra cosa así: echo que tal? > archivo.txt, lo remplazaría, es decir, pasaría a
poner que tal? en la primera linea.
Pero si ponemos: echo que tal? >> archivo.txt se añadiría al hola una linea mas abajo.
Pruébalo tu msimo, aquí pongo dos códigos de ejemplo para que veas la diferencia.

1 @echo off
2 echo hola > archivo.txt
3 echo.
4 echo Abre al archivo creado antes de continuar y mira lo que pone
5 echo Cierra el archivo y continua
6 echo.
7 pause
8 cls
9 echo que tal? > archivo.txt
10 echo.
11 echo Fijate en el archivo creado, pondra que tal? "hola" se ha borrado.
12 echo.
13 pause
14 exit

1 @echo off
2 echo hola > archivo.txt

6 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

3 echo.
4 echo Abre al archivo creado antes de continuar y mira lo que pone
5 echo Cierra el archivo y continua
6 echo.
7 pause
8 cls
9 echo que tal? >> archivo.txt
10 echo.
11 echo Fijate en el archivo creado, "pondra que tal?" despues de hola, no ha borrado nada.
12 echo.
13 pause
14 exit

Es posible que te hayas dado cuenta de algo, y es que esto es lo mismo que usamos
para el pause>NUL. Efectivamente lo que estamos haciendo es redireccionar el texto
por defecto a un archivo llamado “NUL”, en teoría windows no debería crear este
archivo, pero se que a veces lo crea, en todo caso no es un problema demasiado grave.

Espero que se haya entendido todo, la parte de las redirecciones es muy importante
por que nos va a servir varias pruebas que hagamos posteriormente en creación de
virus y scripts automáticos.

PARTE 5

En la anterior parte hemos aprendido a crear archivos, en esta vamos a aprender como
ejecutarlos, borrarlos, copiarlos, cambiar sus atributos etc.

Empecemos por ejecutarlos.

Retomemos el ejemplo anterior en el que creamos un archivo de texto con dos lineas,
bueno pues ahora vamos a ejecutarlo y a borrarlo.

1 @echo off
2 echo hola, esto es un ejemplo de todohacker.com > archivo.txt
3 echo.
4 echo abre al archivo creado antes de continuar y mira lo que pone
5 echo cierra el archivo y continua
6 echo.
7 pause
8 cls
9 echo que tal? >> archivo.txt
10 echo.
11 echo fijate en el archivo creado, "pondra que tal?" despues de hola, no ha borrado nada.
12 echo.
13 pause
14 exit

Para ejecutar un archivo utilizaremos el comando start y para borrarlo el


comando del acordaos de especificar siempre la extensión.

1 @echo off
2 echo hola, esto es un ejemplo de todohacker.com > archivo.txt
3 pause
4 echo que tal? >> archivo.txt
5 echo.
6 echo El archivo se acreado
7 echo.
8 echo Ahora vamos a ejecutarlo (abrirlo)
9 pause
10 start archivo.txt
11 cls
12 echo.
13 echo bien puedes cerrar el archivo por que vamos a borrarlo
14 pause
15 del archivo.txt
16 cls
17 echo.
18 echo Archivo borrado con esto se puede borrar cualquier archivo, solo hay que saber el nombre :D
19 pause
20 exit

Al comando del se pueden añadir distintas letras para que funcione de distinta forma:

del/f Modo force. Borra incluso los archivos de solo lectura


del/s Borra también los subdirectorios.
del/p Pide confirmación
del/q Modo silencioso. No pide confirmación en ningún caso

7 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Se pueden utilizar varios en el mismo del


por ejemplo: del/f/p archivo.txt
borraría el archivo aunque fuese de solo lectura y pediría confirmación

Por supuesto para el comando del también se puede especificar la ruta del archivo si
este no estuviera en el mismo directorio
ej: del c:/ruta/correspondiente/archivo.txt

Ahora vamos con el comando cd que utilizaremos para cambiar el directorio general de


la terminal, es decir, si el archivo bat esta en el escritorio la terminal estará en ese
directorio por defecto y para cambiarlo utilizaremos el mencionado cd.

Por ejemplo si queremos crear el archivo txt del ejemplo en mis documentos en vez de
en el escritorio podriamos escribir la ruta cada vez que nos refiramos al archivo pero
es mas sencillo si cambiamos el directorio actual de la terminal para que siempre se
dirija allí.

Para ello escribiremos: cd C:\Documents and Settings\Propietario\Mis documentos (los


nombres de los directorios pueden cambiar según el ordenador)
y todo lo que creemos o eliminemos sin especificar la carpeta lo hará en mis
documentos

También podemos escribir:


cd..(con los puntos) e irá al directorio superior es decir, si estamos en mis documentos
se trasladará a propietario, en el caso del ejemplo
o cd \\ y se trasladara a la raíz del directorio. en este caso C:

Llegados a este punto tienes los conocimientos necesarios para continuar aprendiendo
por tu cuenta a partir de experimentación y experiencia, voy a nombrar algunos
comandos más:
rd borra un directorio de raíz solo tenemos que especificar la ruta del directorio y
borra todo lo que tenga dentro, carpetas, mas archivos, etc.

format formatea una unidad por ejemplo format k: formatearía un pendrive externo o


le que tengamos en esa unidad, o format c: (ya podéis imaginaros lo que hace)

taskkill termina un proceso como por ejemplo el skype muy útil para bromas ej:
taskkill Skype.exe cerraría el skype. Puedes ver los procesos que tienes activos
pulsando ctrl+shift+esc. (shift es la tecla que esta sobre el ctrl de mayusculas.)

shutdown también es muy útil para bromas y según lo que lleve detrás significa una
cosa u otra:

-p Apaga el equipo local sin tiempo de espera ni advertencia.


-h Hiberna el equipo local.
-l Cierra la sesion.
-g Cierra la sesion y reinicia el equipo
-s Apaga el equipo.
-r Reinicia el equipo.
-e Documenta la razón del cierre inesperado de un equipo.
-m \\equipo Especifica el equipo de destino. (explicado mas abajo)
-t xxx Establece el período de tiempo de espera antes del cierre en xxx segundos.
-c “comentario” Comentario acerca de la razón del reinicio o apagado.
-f Fuerza el cierre de las aplicaciones sin advertir previamente a los usuarios.
-a Cancela el apagado.
(nota: Estas opciones solo están disponibles a partir de windows 7, en versiones
anteriores solo tenemos -s, -r, -t, -a, -c)

Esto es básicamente lo que utilizo en el titorial de crear un minivirus pero de forma


mas sencilla

un ejemplo
shutdown -s -t 60 (tiempo en segundos) -c virus intrusion
Cuando se ejecute pondrá una cuenta atrás de 1 min, pondrá el mensaje de: “virus
intrusion” y se apagará
para cancelar la cuenta atrás debemos poner shutdown -a, se puede poner
directamente en inicio, ejecutar (simbolo de windows + R) y se cancelara
automáticamente.

8 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

msg * es otro comando muy útil para bromas hace que salga un mensaje de windows
con el texto que le pongan

Por ejemplo: msg * atención su sistema contiene software ilegal estamos enviando la
información al FBI

Ahora aprenderemos a utilizar el comando copy que como su nombre indica sirve para


copiar archivos.
Se utiliza de este modo copy ruta del archivo que queremos copiar “ruta del directorio
donde lo queremos copiar incluyendo el nuevo nombre del archivo.

Ejemplo: si queremos copiar un archivo que se llama cosa.txt de el directorio del


escritorio a mis documentos, pondremos: copy C:\Documents and Settings\Propietario
\Escritorio\cosa.txt “C:\Documents and Settings\Propietario\Mis documentos\cosa2.txt

y por último para cambiar los atributos de un archivo utilizaremos attrib

arttrib+ nombre del archivo o ruta, mostraría los atributos del archivo.

Los atributos son solo lectura, oculto, sistema


Para cambiarlos utilizaremos:

r => Lectura. Solo lectura con +r, normal con -r


h => oculto. Se activa con +h y desactiva con -h
s => Sistema. Se activa con +s y desactiva con -s

ej:attrib +h se pondría oculto como atributo

Aquí concluye este tutorial, estos son los comandos mas básicos que me ha parecido
importante mencionar, hay que decir que he obviado cosas que podrían considerarse
importantes, como por ejemplo los bucles, pero este tutorial tenia la misión de ser una
introducción, y no me ha parecido conveniente extenderlo mas, ahora es tu misión
continuar aprendiendo, lo más importante ya lo sabes y ahora el limite es tu
imaginación.

Solo me queda para concluir mencionar un modo de nombrar a los archivos en general
para ello utilizaremos el * que nombra a cualquier archivo es decir si decimos:

del archivo.* borraria todos los archivos que se llamen “archivo” sean de la extensión
que sean
del *.txt borraría todos los archivos de texto se llamen como se llamen
del a*.txt borraría todos los documentos de texto que empiecen por a
del nombre.d* borraría todos los archivos que se llamen “nombre” y que su extensión
empiece por d como doc o dat

También podemos utilizar ? se usa igual que * pero sustituye a una única letra
ej: del pan?l.txt boraria todos los archivos de texto que empezasen por pan siguiese
una letra cualquiera y terminase en l por ejemplo panel, panal etc.

Espero que hayan entendido todo. Cualquier duda que tengan por favor pongan un
comentario y se responderá con mucho gusto.
Si quieres puedes poner en una ventana de terminal help y saldrán todos los
comandos, por supuesto TODOS los comandos mencionados aquí se puede escribir
directamente en la ventana de terminal sin necesidad de crear un archivo bat.

Este tutorial tiene copyleft de TodoHacker.com si lo usas, pon las fuentes.

Todohacker by 4m1g0 is licensed under a Creative Commons.

bat, batch, programación, tutorial

267 Respuestas a Lenguaje batch tutorial y comandos básicos .bat

1. Ricardo dice:
21 octubre, 2015 a las 22:14

Muy buen tutorial

9 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

4m1g0 dice:
15 noviembre, 2015 a las 19:20

Muchas gracias, espero que te haya sido útil

Responder

2. Jon dice:
11 enero, 2016 a las 23:12

Felicidades por el tutoríal.


¿Como se usa el comando msg? he probado msg * lo que sea *; msg ( lo que sea
);msg ¨lo que sea ¨.
Para que cuando se ejecute una variable salga un ventana de mensaje . Pero no me
aparece nada.
Practicare tus ejemplos.
Muchas gracias.

Responder

4m1g0 dice:
28 abril, 2016 a las 13:08

Hola,

Muchas gracias por tu comentario y perdona la tardanza en contestar.

El comando msg puedes usarlo de esta forma:


msg * “hola”

Esto saca un mensaje con la palabra “hola”.

Responder

3. Gerson dice:
15 enero, 2016 a las 3:02

Me ha servido mucho,gracias 4m1g0 , es muy util

Responder

4. marco antonio lopez chaves dice:


6 abril, 2016 a las 15:11

esto esta para la verga

Responder

5. Angel Avila dice:


25 abril, 2016 a las 23:54

Me a servido de mucho tu tutorial, si pudieras ayudarme un poco necesito crear


un bat que al ejecutarlo pulse la tecla F4 en el teclado automaticamente una sola
vez.
Gracias de antemano.

Responder

6. Dardo dice:
5 julio, 2016 a las 11:23

Gracias por compartir tu conocimiento. Quiero empezar a conocer más a fondo el


código y me ha sido útil como material de inicio.

Responder

4m1g0 dice:
5 julio, 2016 a las 14:00

10 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Genial, si tienes alguna pregunta no dudes en comentar!

Responder

7. pancho dice:
24 septiembre, 2016 a las 1:38

¿puedo hacer que el programa ejecute una imagen?, ya lo intente con el comando
start nombredelaimagen.jpg o .png o inclusive ya intente exportar la imagen con
extencon .txt
pero siempre me manda el aviso de que no se a encontrado el archivo, y no es
problema el que no encuentre la imagen porque tengo el programa y la imagen en
la misma carpeta.

Responder

4m1g0 dice:
24 septiembre, 2016 a las 23:15

Widnows utiliza la extensión del archivo para determinar con que programa
debe abrirlo. De esta forma, si ejecutas start imagen.jpg por ejemplo, el
sistema debería buscar un programa instalado que pueda abrir jpg y
utilizarlo.

Si esto no te está funcionando, siempre puede forzar a usar un programa


concreto, pero tienes que saber de antemano que este programa está
instalado en el ordenador donde ejecutas el código.

Por ejemplo: firefox.exe imagen.jpg

¿Que sistema operativo estás usando en concreto?


Saludos

Responder

Luub dice:
29 mayo, 2017 a las 19:38

hola, estoy creando un programa , cree una contraseña con goto


ej.
set/p clave= introduca contraseña
if %clave%=patata goto admin else goto user

pero me da errores de goto , lo unico que quiero que haga despues es


que abra dos carpetas distintas
¿me ayudas?

Responder

4m1g0 dice:
31 mayo, 2017 a las 16:37

Hola,

El error está en que el símbolo = es para asignar valores, para


comparar igualdad hay que usarlo doble: ==

Ej:

1 set/p clave= introduca contraseña


2 if %clave% == patata goto admin else goto user
3 :user
4 echo user
5 pause
6 exit
7 :admin
8 echo admin
9 pause
10 exit

Saludos

11 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

limusina10 dice:
6 agosto, 2018 a las 21:00

Hola, tenía una duda, quando escribe “contraseña”, la “ñ” se


escibe de otra manera, como puedo saber escrivir totods los
caráctoeres especiales, digamos, de es manera para que se
lean bien?
Gracias

Genius dice:
28 mayo, 2017 a las 1:42

Eso es sencillo, debes estar en un directorio distinto… aunque tu programa


esté en el mismo directorio que la imagen, éste se abre en un directorio
distinto por defecto.

Ej: C:\Users\UsuarioXcualquiera …

Por lo que debes arreglar tu programa para que antes de abrir la imagen.jpg
se ubique en el directorio en el que tu imagen se encuentra.
Esto lo logras con un comando parecido a este:

CD C:\Users\PepeRobertico\Desktop\CarpetaConMiImagen (colocas la
carpeta donde está tu imagen)

y luego: START imagen.jpg

cabe recalcar que si tu imagen posee un nombre que contenga espacios


entonces debes colocarle comillas:

START “nombre con espacios.jpg”

Espero haberte ayudado, un saludo!

Responder

4m1g0 dice:
28 mayo, 2017 a las 2:12

Muchas gracias por tu aporte!

Responder

8. S. Eugenio dice:
7 octubre, 2016 a las 17:24

Muchas gracias por el material, estoy entrando en el mundo de la informática y


me sirvió de mucho.

Responder

4m1g0 dice:
7 octubre, 2016 a las 23:45

Muchas gracias por tu comentario, cuando escribí este tutorial también


estaba empezando y me alegra ver que te ha servido!

Responder

9. pepa pig dice:


15 noviembre, 2016 a las 20:50

hola mundo

Responder

10. Kashbir Jamett dice:


15 noviembre, 2016 a las 23:58

12 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Buenas! tio me ha servido de mucho esto. Estoy recien aprendiendo del tema pero
hay un par de cosas que no logro que me resulten. No se si podrás ayudarme.

Creo un archivo de texto en la unidad “C:\Prueba.txt” este contiene un texto de 5


líneas en el cual encontramos la palabra “Queso”. Ahora debo crear un batch el
cual busque la palabra “Queso” con el comando find u otro compatible dentro de
“C:\Prueba.txt” y de encontrarlo pues cerrar cmd (con exit) pero de no encontrarlo
apagar el ordenador (shutdown /s). Alguna sugerencia? Gracias!!

Responder

Kashbir Jamett dice:


16 noviembre, 2016 a las 0:00

por cierto, por otra parte me dijeron que necesitaria mas de un archivo bat o
cmd.. no lo entendi muy bien. Gracias!

Responder

4m1g0 dice:
18 noviembre, 2016 a las 17:23

Hola,

Para buscar una palabra en un archivo puedes usar el comando “find”, luego
debes comprobar la variable “errorlevel” para saber si se ha encontrado o no.

Aquí tienes un ejemplo:


find /c "string" file
if %errorlevel% equ 1 goto notfound
echo found
goto done
:notfound
echo notfound
goto done
:done

Creo que con este ejemplo queda claro, en todo caso tienes más información
en este post:
http://stackoverflow.com/questions/2010253/dos-find-a-string-if-found-then-
run-another-script

Saludos!

Responder

Kashbir Jamett dice:


18 noviembre, 2016 a las 21:12

no me quedo claro no xd, porque no sabría donde poner la ruta y lo que


ocurre si encuentra o no encuentra la palabra (acción cerrar cmd si
encuentra y apagar pc si no encuentra)

estoy perdido -.-

Responder

11. Kashbir Jamett dice:


16 noviembre, 2016 a las 12:48

No se si es posible lo que he pedido xd

Responder

12. Nelson Cardona dice:


17 noviembre, 2016 a las 13:15

Muy bueno, me ha servido de guia para un super bath que tengo que crear,
aunque no vi cómo ejecutar archivos .exe o .msi

Responder

13 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

4m1g0 dice:
18 noviembre, 2016 a las 17:18

hola,

Para ejecutar un .exe simplemente tienes que escribir su nombre, estando en


la misma carpeta, o escribiendo la ruta completa.

Por ejemplo si tienes un ejecutable llamado “programa.exe” en el escritorio,


simplemente tienes tienes que navegar hasta el escritorio (Con el comando
cd) y ejecutar “programa” o “start programa”

Saludos!

Responder

13. Kashbir Jamett dice:


18 noviembre, 2016 a las 21:44

ya lo consegui xD, con tu ejemplo! gracias tio!

Responder

4m1g0 dice:
19 noviembre, 2016 a las 23:42

Me alegro mucho!

Un saludo.

Responder

14. Razsmus dice:


19 noviembre, 2016 a las 18:38

Hola!Muchas gracias , realmente me a servido!Muy bien explicado también!


Pero tengo una sola pregunta:
En “if variable==” hay alguna manera de agregar más de una respuesta correcta
por decirle?
No se si me explico muy bien!Pero de vuelta te agradezco.

P.D:Llegué un año tarde

Responder

4m1g0 dice:
19 noviembre, 2016 a las 23:50

Hola!

¿Por que un año tarde? jeje

Lo ideal en cualquier lenguaje de programacion sería utilizar operadores


lógicos, como OR y AND, asi podriamos decir: if x OR y… el problema es que
en batch NO EXISTEN.

Sin embargo podemos hacer lo que dices utilizando diferentes if en el orden


correcto, por ejemplo:
if %variable%==4 goto correcto
if %variable%==5 goto correcto
if %variable%==8 goto correcto
goto incorrecto
:correcto
echo Bien!
:incorrecto
echo Mal!

De esta forma las respuestas 4, 5 y 8 serían correctas y todas las demás


incorrectas. Espero que se entienda. Cualquier cosa me dices

Saludos!

14 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

15. overkiller dice:


22 noviembre, 2016 a las 16:13

Hola amigos

tengo unas replicaciones con oracle goldengate y necesito crear un .bat que abra
el proceso de goldengate y ejecute un INFO ALL, pero solo logro hacer que el bat
ejecute el proceso correspondiente pero no que tire el comando INFO ALL? como
podria lograrlo y ademas guardar el resultado en un .txt?

Responder

16. Manuel dice:


22 noviembre, 2016 a las 18:49

Hola, estoy intentando usar el comando Exist para una carpeta que contiene
espacios, ademas el nombre del fichero tambien tiene espacios y em esta
devolviendo un error comopodria solucionar esto? gracias

Responder

4m1g0 dice:
25 noviembre, 2016 a las 0:43

Hola,

Perdona la tardanza en contestar.

Para hacer referencia a una ruta o nombre de archivo/carpeta que contiene


espacios, basta con ponerlo entre comillas.

if exist “nombre con espacios.txt” …

Saludos

Responder

17. Edicxón dice:


28 noviembre, 2016 a las 19:25

como puedo realizar un archivo .bat para ejecutar dos redes en mi PC esto debido
ha que hay programas que solo abren con la area local “LAN” y si estoy conectado
a un Cable modem “CM” tambien en la misma PC con otra tarjeta de red no puedo
abrir estos programas en especifico me dan error.

Responder

4m1g0 dice:
29 noviembre, 2016 a las 17:14

Hola,

Eso es algo bastante específico que va mas allá de lo que se pretende en este
tutorial, sin embargo, en windows hay un programa llamado devcon.exe que
puedes ejecutar mediante un script en .bat y te permite manejar las
conexiones de red del equipo.

Tienes más información aquí:


http://www.redesyseguridad.es/activar-y-desactivar-una-tarjeta-de-red-
mediante-comando-devcon-exe/

Responder

18. Orestes dice:


24 enero, 2017 a las 15:00

Hola 4m1g0: En mi opinión, tu aporte es importante, sólo que he notado una


pregunta no atendida, aquella sobre pulsar la tecla F4 mediante batch.
Entonces, ¿cómo enviar pulsaciones de teclas especiales mediante .bat?

15 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

4m1g0 dice:
24 enero, 2017 a las 23:24

Hola Orestes,

Una pregunta muy interesante la verdad, me parece un tema un poco más


avanzado para añadir en este tutorial, pero desde luego me lo plantearé para
un post futuro.

Por ahora puedes ver un ejemplo aquí: http://stackoverflow.com/questions


/17038282/press-keyboard-keys-using-a-batch-file

Cuéntanos si lo consigues finalmente, o si tienes algun problema lo vamos


viendo.

Saludos

Responder

19. hack 21 dice:


20 febrero, 2017 a las 20:41

la verdad es que con el lenguaje bach no puedo poner el exponente no se me


questa mucho de entender, como puedo hacer para poner exponente

Responder

4m1g0 dice:
20 febrero, 2017 a las 21:29

Hola hack21,

Había un error en el tutorial que ya fue corregido, como ya te habrás dado


cuenta, en batch no es tan fácil elevar un numero a una potencia. Pues no
existe un operador para hacerlo.

Para conseguirlo tenemos que hacer un bucle y multiplicar por el mismo


número las veces que sea necesario. Aquí tienes un ejemplo:
set result=1
set i=1
:multiply
set /a result=result*x
set /a i=i+1
if %i% lss %n% goto multiply
echo %result%

Saludos

Responder

20. hack 21 dice:


21 febrero, 2017 a las 14:04

Gracias por tu respuesta pero siento decirte que no me reconece multiply como un
comando interno o externo, programa o archivo por lotes ejecutable. No se
pruevalo lo he echo así
@echo off
color 0a
:principio
set /p num1="Introduce el PRIMER numero: "
set /p num2="Introduce el SEGUNDO numero: "
echo ESCRIBE EL NUMERO UNO PARA EXPONENTE
set /p op="¿Quieres poner exponente?
set result=1
set i=1
:multiply
set /a result=result*x
set /a i=i+1
if %i% lss %n% goto multiply
echo %result%
set /p caso="Quieres seguir el programa de calculadora, escribe si o no:"
if %caso% == si (goto :principio)

16 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

if %caso% == no (goto :salir)


:salir
exit
pause
goto:eof
saludos

Responder

4m1g0 dice:
21 febrero, 2017 a las 22:02

Perdona, es que no copié todo el script, falta definir la variable n y por eso da
error.

Este lo puedes ejecutar tal cual:


set result=1
set n=5
set x=2
set i=1
:multiply
set /a result=result*x
set /a i=i+1
if %i% lss %n% goto multiply
echo %result%
pause

Hace 2 ^ 4 y por lo tanto debería dar 16.

Pruebalo y me dices.
Saludos

Responder

21. hack 21 dice:


22 febrero, 2017 a las 14:23

Gracias, lo que tu me dices està bien, pero solo da 16, osea le pones 18^5=16
entonces que tengo que hacer dar mas valores a x?
siento agobiarte pero esto me esta gustando mucho!!
@echo off
color 0a
:principio
set /p num1="Introduce el PRIMER numero: "
set /p num2="Introduce el SEGUNDO numero: "
echo ESCRIBE EL NUMERO UNO PARA EXPONENTE
set /p op=”¿Quieres poner exponente?
set result=1
set n=5
set x=2
set i=1
:multiply
set /a result=result*x
set /a i=i+1
if %i% lss %n% goto multiply
echo %result%
pause

Responder

22. hack 21 dice:


22 febrero, 2017 a las 14:32

Introduce el PRIMER numero: 2


Introduce el SEGUNDO numero: 2
ESCRIBE EL NUMERO UNO PARA EXPONENTE
Quieres poner exponente?1
16
Presione una tecla para continuar . . .
esto es lo que me da siempre

Responder

4m1g0 dice:
22 febrero, 2017 a las 19:01

Hola otra vez.

17 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Me alegro mucho de que te haya enganchado esto de la programación, yo


llevo más de 15 años enganchado y ahora me dedico profesionalmente a ello.

Vamos a verlo con cuidado, fíjate en la parte que hace la multiplicación:


set /a result=result*x

result empieza valiendo 1 y lo multiplicamos por x que lo hemos asignado a 2,


mas arriba. Una vez hecho esto, result pasa a valer 2*1=2 luego
incrementamos el valor de i: set /a i=i+1 y comprobamos si “i” es menor que
“n”. “n” vale 5 (set n=5) por lo volvemos a la etiqueta :multiply. Vamos a
repetir esto 4 veces (i=1, i=2, i=3, i=4). ¿Hasta aquí bien?

El problema es que tu asignas arriba num1 y num2, pero no los usas en la


operación. En lugar de estas variables, puedes pedir que el usuario inserte x
y n directamente.

Quedaría algo así (he puesto que i empiece en 0):


@echo off
color 0a
set /p x=”Introduce la BASE: ”
set /p n=”Introduce el EXPONENTE: ”
set result=1
set i=0
:multiply
set /a result=result*x
set /a i=i+1
if %i% lss %n% goto multiply
echo %x% elevado a %n% es: %result%
pause

Responder

23. hack 21 dice:


22 febrero, 2017 a las 21:09

muchas gracias
si tengo otra duda te lo preguntare 4m1g0
si te suena raro que te pregunte tanto es porque tengo 10 años y me cuesta un
poco

Responder

4m1g0 dice:
22 febrero, 2017 a las 22:35

Perfecto!

Puedes preguntar todo lo que quieras, es normal que cueste un poco al


principio, tengas la edad que tengas. Pero vas por muy buen camino

Tenemos también un foro aquí: https://todohacker.com/forum/preguntas/


Si tienes otras dudas no relacionadas con este tutorial o quieres comentar
alguna cosa en concreto puedes ser el primero en escribir.

También si te apetece compartir lo que vas haciendo puedes hacerlo ahí, que
seguro le es de utilidad a mucha gente.

Un saludo y ánimo con eso!

Responder

24. hack 21 dice:


23 febrero, 2017 a las 14:36

Ultimamente he estado mirando y he visto que en batch se pueden hacer cosas


pero no muchas, por lo tanto queria preguntar, ¿que otro lenguaje de
programacion seria mas util, para hacer programas mas elavorados?
Por ejemplo el php, o ya tienes que tener una base un poco amplia de
programacion…
alguin me aconseja?
saludos

18 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

25. hack 21 dice:


25 febrero, 2017 a las 11:48

mi amigo 4m1g0, mira lo que he logrado yo solo excepto la raíz cuadrada:

1 @echo off
2 color 0a
3 title Calculadora científica hack 21
4 :principio
5 set /p num1="Introduce el PRIMER numero: "
6 set /p num2="Introduce el SEGUNDO numero: "
7 echo Escribe el numero 1 para sumar
8 echo Escribe el numero 2 para restar
9 echo Escribe el numero 3 para multiplicar
10 echo Escribe el numero 4 para dividir
11 echo Escribe el numero 5 para exponent
12 echo Escribe el numero 6 para raíz cuadrada
13 set /p op="¿Quieres sumar, restar, multiplicar,dividir,exponent o raíz cuadrada?"
14
15 if %op% == 1 (goto :sumar)
16 if %op% == 2 (goto :restar)
17 if %op% == 3 (goto :multiplicar)
18 if %op% == 4 (goto :dividir)
19 if %op% == 5 (goto :exponent)
20 if %op% == 6 (goto :raíz cuadrada)
21
22 :sumar
23 set /a suma="%num1% + %num2%"
24 echo El resultado de la suma es: %suma%
25 set /p caso="Quieres seguir el programa de calculadora, escribe si o no:"
26 if %caso% == si (goto :principio)
27 if %caso% == no (goto :salir)
28 :salir
29 exit
30 pause
31 goto:eof
32
33 :restar
34 set /a resta="%num1% - %num2%"
35 echo El resultado de la resta es: %resta%
36 set /p caso="Quieres seguir el programa de calculadora, escribe si o no:"
37 if %caso% == si (goto :principio)
38 if %caso% == no (goto :salir)
39 :salir
40 exit
41 pause
42 goto:eof
43
44 :multiplicar
45 set /a multiplica="%num1% * %num2%"
46 echo El resultado de la multiplicacion es: %multiplica%
47 set /p caso="Quieres seguir el programa de calculadora, escribe si o no:"
48 if %caso% == si (goto :principio)
49 if %caso% == no (goto :salir)
50 :salir
51 exit
52 pause
53 goto:eof
54
55 :dividir
56 set /a divide="%num1% / %num2%"
57 echo El resultado de la division
58 echo es: %divide%
59 set /p caso="Quieres seguir el programa de calculadora, escribe si o no:"
60 if %caso% == si (goto :principio)
61 if %caso% == no (goto :salir)
62 :salir
63 exit
64 pause
65
66
67 :exponent
68
69 cls
70
71 echo            ================ exponent ====================
72
73 color 0a
74 set /p x="Introduce la BASE: "
75 set /p n="Introduce el EXPONENTE: "
76 set result=1

19 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

77 set i=0
78 :multiply
79 set /a result=result*x
80 set /a i=i+1
81 if %i% lss %n% goto multiply
82 echo %x% elevado a %n% es: %result%
83 set /p caso="Quieres seguir el programa de calculadora, escribe si o no:"
84 if %caso% == si (goto :principio)
85 if %caso% == no (goto :salir)
86 :salir
87 exit
88 pause
89
90 :raíz cuadrada
91
92 cls
93
94 echo              ================raíc cuadrada=================
95
96 :init
97 cls
98 set /p i=Numero para calcular la raíz:
99 if %i% GTR 999999999999999999999999999999999999999999 (goto letra)
100 if not defined i (goto init)
101 goto calcular
102
103 :letra
104 cls
105 echo Pusiste una letra
106 pause
107 goto init
108
109
110

Responder

4m1g0 dice:
26 febrero, 2017 a las 0:55

Hola,

¡¡Impresionante!! Has avanzado un montón, me ha gustado mucho y te lo he


puesto con formato resaltado, por que creo que además le va a ser muy útil
como ejemplo a otra gente que también este haciendo sus programas en
batch. Enhorabuena por el trabajo y gracias por compartirlo!

Con respecto a la otra pregunta, batch es un lenguaje que se usa bastante a


día de hoy para administrar sistemas, por que permite automatizar tareas
como copiar archivos, renombrar ficheros en bloque, etc. de forma más
rápida.

Pero si quieres avanzar más (y parece que si) haces muy bien en plantearte
otros lenguajes. En general no vas a necesitar nada más que constancia y
paciencia para aprender cualquier lenguaje, ya eres autodidacta y eso te
permite llegas hasta donde tu quieras.

Con respecto a los lenguajes, depende de lo que quieras hacer. Con


tecnologías web (php, html, css, javascript) vas a poder hacer cosas muy
chulas pronto, sin duda es un buen comienzo. Y si quieres algo de
“escritorio”, Python es un lenguaje muy potente hoy en día, y no es muy
complicado de aprender.

Te voy a hacer algunas preguntas, para poder aconsejarte mejor:


¿Tienes alguna preferencia con respecto a lo que quieres hacer?
¿Tienes idea de como funciona una página web por dentro?
¿Te suena el sistema operativo Linux?

Un saludo!

Responder

26. hack 21 dice:


27 febrero, 2017 a las 0:16

Lo que quiero hacer es programar apps hacer paginas web y si llego que no creo
para programar juegos como Call Of duty ya que soy un fanático y me vicio

20 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

La verdad es que no se como f funciona una pagina web pero me gustaría


aprender. El saber no ocupa lugar.
El sistema linux me suena ya que con el se pueden adaptar todas las apps a tu
gusto programando. De hecho mi padre me ha comprado una rasbery pi o algo así
que lleva un sistema operativo linux.
La rasbery pi es un pequeño ordenador que tiene todos los juegos retro, una
pasada , también lleva esto del linux y por ultimo como un sitio para ver pelvis por
estriming
Si tienes otras preguntas me preguntas igual que yo a ti
Saludos un fuerte abrazo

Responder

4m1g0 dice:
27 febrero, 2017 a las 1:27

La buena noticia es que si vas a poder programar juegos como Call of duty,
pero para llegar a eso hace falta mucho tiempo y esfuerzo, por lo que no te
desanimes si ves que vas muy poco a poco, es normal. Además un juego tan
grande se hace entre bastantes personas y se tarda años en terminar, pero
vas a poder hacer juegos más pequeños y en el futuro si te gusta podrás
trabajar con un equipo de gente donde hagas juegos como ese.

Con respecto a Linux, te lo preguntaba, por que como bien has dicho, es un
sistema operativo (igual que windows) pero libre, es decir, todo el código de
programación que lo constituye está disponible para leerlo y estudiarlo,
además todos podemos contribuir a su mejora y modificarlo como queramos.
Por eso considero que es un “lugar” estupendo para aprender. Si tienes la
oportunidad de instalarlo y jugar un poco con el te lo recomiendo.

Rasberry PI es un ordenador con la misma filosofía, toda su estructura


hardware es libre (puedes verla aquí). Y usa linux, por lo tanto puedes usarla
para programar en ella con python por ejemplo (es más fácil hacerlo que en
windows), pero los programas que hagas podrás hacerlos funcionar en
windows también.

Dicho todo esto, creo que lo mejor es que empieces por el mundo web, si te
apetece hacer una página web puedes aprender bastante rápido y eso te va a
ayudar a familiarizarte con algunos conceptos antes de seguir. Voy a buscar
algún enlace donde puedas leer sobre esto y te lo paso, en cualquier caso, si
quieres ir investigando por tu cuenta, puedes ir empezando y me cuentas que
te parece y si lo ves interesante.

Saludos

Responder

27. 4m1g0 dice:


28 febrero, 2017 a las 12:26

Hola Hack 21,

Te recomiendo este enlace para que vayas aprendiendo como funcionan las
páginas web: https://desarrolloweb.com/manuales/publicar-webs-internet.html

Échale un vistazo y me dices si te gusta

Responder

28. hack 21 dice:


28 febrero, 2017 a las 14:18

muy interesante gracias


Por lo que he visto es como una pàgina que te enseña todo sobre lo que quieres
programar
Me a gustado mucho
Estas dos setmanas que quedan, seguramente no podre hacer nada ya que estoy
en setmana de examenes.
un fuerte abraço
hasta la vista:)

21 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

29. hack 21 dice:


28 febrero, 2017 a las 14:27

A y por cierto el ultimo dia estube mirando de como hacer el efecto matrix en
batch, pero lo que dicen en los videos , no es matrix
podrias ayudarme o no sabes comoo se hace ?
O se puede hacer con batch? O se tiene que escribir con otro lenguage?
espero tu respuesta
saludos
XD

Responder

4m1g0 dice:
8 marzo, 2017 a las 23:53

Perdona, no había visto tu mensaje.

No se exactamente cual es el efecto matrix, con la consola de windows (cmd)


ya sabes como poner las letras en el color que quieras, luego lo que puedes
hacer es imprimir con echo, pero no puedes cambiar lo que ya está escrito
arriba (hasta donde yo se).

Con una librería gráfica (y otro lenguaje) podrías dibujar lo que quieras como
quieras en la pantalla, pero es mucho trabajo para conseguir solo eso. Te
recomiendo dejarlo par más adelante.

Responder

30. rubens dice:


8 marzo, 2017 a las 23:20

Hola, me ha gustado mucho tu post. Entiendes algo de parámetros? Se que no


hablas de ello en el tutorial pero igual podrías ayudarme.

El caso es que tengo que hacer un bat donde si el tercer parametro vale copiar o
mover que copie el parametro 1 al directorio del parametro 2, y si el tercer
parametro no vale ninguna de esas dos opciones tiene que dar mensaje de error.
También debe dar un error si el archivo o el directorio no existen. No lo entiendo.
Tal como lo tengo actualmente me sale así al ejecutarlo.

1 archivo(s) copiado(s)
La sintaxis del comando no es correcta.
La sintaxis no es correcta
@echo off

if #%3# == ## goto error

if not exist %1 goto error

if not exist %2\nul goto error

if #%3# == #copiar# goto copiar

if #%3# == #mover# goto mover

:copiar

xcopy %1 %2 /r /s

:mover

move %1 %2 /r /s

:error

echo La sintaxis no es correcta

:fin

Responder

4m1g0 dice:

22 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

9 marzo, 2017 a las 0:29

Hola,

El primer problema es que después de hacer la operación correspondiente,


no saltas a :fin. Por lo tanto el programa sigue ejecutando la siguiente linea,
en lugar de terminar. Esto se solucionaría poniendo “goto fin” despues del
comando xcopy y del comando move.

En segundo lugar. En el caso del comando move, no son necesarios los


parámetros /r y /s (no existen).

Espero que te sea útil. Cuéntame si lo consigues

Responder

rubens dice:
12 marzo, 2017 a las 17:31

Muchas gracias ahora entiendo porque me iba siempre a error aunque


copiara, era porque faltaba enviarlo a fin después de hacer la operación,
y lo de /r y /s no se porque lo puse, lo quite y ahora ya funciona todo
bien.

Otro problema que tengo con otro bat, debe recibir 3 parametros, si
recibe más o menos dara error. Si el numero de parametros es correcto
debe validar que se cumplen las siguientes condiciones

• El valor del primer parámetro es /a


• El valor del segundo parámetro es /b
• El valor del tercer parámetro es ABC

Si no se cumple ninguna condición muestra mensaje de error y finaliza.


No se que estoy haciendo mal.
@echo off

:Inicio
set a= /a /b ABC

if #%4# == ## (
shift

echo El valor del primer parametro es %1


echo El valor del segundo parametro es %2
echo El valor del tercer parametro es %3

goto fin

if not #%3# == ## (

echo Error

:fin

Responder

4m1g0 dice:
13 marzo, 2017 a las 2:01

Hola,

¿Por que utilizas el comando shift? Este comando lo que hace es


desplazar los parametros una posición, con el objetivo de poder
recorrer todos los parámetros en un bucle. Pero en tu caso no se
exactamente que es lo que querías hacer.

La forma fácil, es ir uno por uno comprobando los 3 primeros


parámetros con 3 “if” de esta forma:

if not #%1# == #/a# goto error


if not #%2# == #/b# goto error

23 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

[…]

De la misma forma puedes comprobar que no exista el parámetro 4


con otro if más.

Espero que esto te ayude a continuar. Cuéntame que tal y si no te


sale lo vamos viendo juntos.

Por curiosidad, ¿quien te pide este tipo de problemas? Me parecen


muy interesantes.

Saludos

Responder

rubens dice:
13 marzo, 2017 a las 18:31

Vale, le puse 4 if not para que me de error en caso de invocar


más o menos de 3 parámetros, porque si le pongo solo 3 if not,
cuando invoco con más o menos de los necesarios no me da
error.
Estoy estudiando Desarrollo de apps multiplataforma y en el
módulo de sistemas estamos dando batch y empezamos
también con scripts en ubuntu.
La verdad que me está costando mucho y eso que no es tan
difícil.

31. 4m1g0 dice:


13 marzo, 2017 a las 20:18

Hay que ir poco a poco, no se puede asimilar en un día, pero en cuanto lo vayas
entendiendo se te volverá cada vez más fácil.

Si tienes dudas con los de bash en Ubuntu también puedes preguntar

Ánimo!

Responder

32. Alejandro dice:


15 marzo, 2017 a las 16:46

Hola, soy nuevo en esto… tengo la necesidad de crear un bat que renombre un
archivo csv con la fecha del día en que se ejecuta. tengo una tarea programada en
un servidor que me genera un informe diario pero si no lo renombro todos los días
este se sobrescribe. se me esta convirtiendo en un verdadero problema.

he intentado con varios bat que he visto en internet pero no he logrado conseguir
que se renombreel csv.

quedo atento

Responder

4m1g0 dice:
15 marzo, 2017 a las 22:04

Hola Alejandro,

Para obtener la fecha en batch puedes usar la variable %date% el problema


es que dependiendo del idioma el formato varía.

En mi caso si hago: echo %date% me devuelve: Wed 03/15/2017

Si en tu equipo el formato tambien es ese puedes obtener cada parte así:


Día: %date:~7,2%
Mes: %date:~4,2%
Año: %date:~-4%

24 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Entonces podrías renombrar el archivo así: move archivo.txt %date:~-


4%-%date:~4,2%-%date:~7,2%.txt

Espero que se entienda, si en tu caso el formato de fecha es distinto, hay que


recortarlo de otra forma. Si no lo consigues pon aquí el resultado de hacer
echo %date% y lo vemos.

Saludos

Responder

33. rubens dice:


16 marzo, 2017 a las 21:02

De momento con bash no tengo problemas pero se me va a complicar, lo estoy


viendo.
Necesito que me ayudes con otro bat, sobre una agenda, tengo todo hecho pero
me falta un bat que modifique registros de la agenda. Para modificar primero le
doy el DNI y luego me sale un menu con 3 opciones a elegir entre modificar
nombre que sería la opción 1, apellido opción 2 y telefono opción 3. Más alla de
eso no se como seguir. Cada uno de esas opciones las mando al for, que es lo que
no me sale

:nombre
set /p modificar= Escriba el nombre a modificar:
set /p mod= Escriba el nuevo nombre:
goto modif

:apellido
set /p modificar= Escriba el apellido a modificar:
set /p mod= Escriba el nuevo apellido:
goto modif

:telefono
set /p modificar= Escriba el telefono a modificar:
set /p mod= Escriba el nuevo telefono:
goto modif

:modif
for /f “tokens=1-4 delims=:” %%i in (Agenda.txt) do (
set “linea=%%i”
set linea=!linea:%modificar%:%mod%!
If %%i == %DNI3% (echo DNI: %%i Nombre: %%j Apellidos: %%k telefono: %%l)
Echo %linea% >> Nueva_Agenda.txt
)
Del /Q “Agenda.txt”
Rename “Nueva_Agenda.txt” “Agenda.txt”

Responder

4m1g0 dice:
17 marzo, 2017 a las 0:03

Hola Rubens,

La verdad es que la cosa se está poniendo complicada…

No entiendo que haces en esta linea: set linea=!linea:%modificar%:%mod%!


Que significan las exclamaciones? es parte de la sintaxis del archivo
agenda.txt?

Por otro lado, entiendo que al principio del programa preguntas que quiere
modificar: nombre, apellido o telefono.

Dentro del bucle las variables i, j, k, l que contienen el nombre, apellidos y


telefono respectivamente, yo comprobaría que quiere modificar y en función
de eso compararía si dicho campo coincide con la variable “modificar” y si es
asi lo sustituyo por “mod”:

Suponiendo que la respuesta a la pregunta ¿que quieres modificar “nombre”,

25 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

“apellido” o “telefono” se almacena en la variable %campo% haría lo


siguiente:

1 for /f “tokens=1-4 delims=:” %%i in (Agenda.txt) do (


2   set “linea=%%i:%%j:%%k:%%l”
3   If %%i == %DNI3% (echo DNI: %%i Nombre: %%j Apellidos: %%k telefono: %%l)
4   If %campo% == nombre (
5     IF %%j == %modificar% ( set linea=%%i:%mod%:%%k:%%l )
6   )
7   If %campo% == apellido (
8     IF %%k == %modificar% ( set linea=%%i:%%j:%mod%:%%l )
9   )
10   If %campo% == telefono (
11     IF %%l == %modificar% ( set linea=%%i:%%j:%%k:%mod% )
12   )
13   Echo %linea% >> Nueva_Agenda.txt
14 )

Espero que se entienda la idea, cualquier cosa me dices.

Saludos

Responder

4m1g0 dice:
17 marzo, 2017 a las 0:29

Me autocorrijo…

Las exclamaciones sirven para realizar expansión de variables


retardada… realmente no lo conocía, pero paso a explicarlo brevemente.
En batch cuando haces un bucle, antes de ejecutar nada se sustituyen
las variables por sus respectivos valores, por lo tanto si dentro del bucle
hacemos un SET. este no va a afectar puesto que las variables ya están
sustituidas (este proceso de sustitución se llama “variable expansion” o
expansión de variables)

Para usar la expansion de variables retardada y evitar este problema hay


que poner las variables entre signos de admiración (!) y no porcentajes
(%). Además al principio del programa hay que activar esta
funcionalidad con el comando: SETLOCAL
ENABLEDELAYEDEXPANSION

Por lo tanto para que el código del comentario anterior funcione habria
que ponerlo de la siguiente forma:

1 for /f “tokens=1-4 delims=:” %%i in (Agenda.txt) do (


2   set linea=%%i:%%j:%%k:%%l
3   If %%i == %DNI3% (echo DNI: %%i Nombre: %%j Apellidos: %%k telefono: %%l)
4   If %campo% == nombre (
5     IF %%j == %modificar% ( set linea=%%i:%mod%:%%k:%%l )
6   )
7   If %campo% == apellido (
8     IF %%k == %modificar% ( set linea=%%i:%%j:%mod%:%%l )
9   )
10   If %campo% == telefono (
11     IF %%l == %modificar% ( set linea=%%i:%%j:%%k:%mod% )
12   )
13   Echo !linea! >> Nueva_Agenda.txt
14 )

No olvides poner el comando: SETLOCAL


ENABLEDELAYEDEXPANSION al inicio del programa.

Espero que ahora si, sea útil, de esta vez me has enseñado algo nuevo a
mi

Saludos

Responder

rubens dice:
17 marzo, 2017 a las 21:25

Me da error, cuando elijo la opción a cambiar, pongo por ejemplo el

26 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

antiguo nombre, el nuevo nombre y luego me sale No se esperaba


1-4 en este momento

Responder

4m1g0 dice:
17 marzo, 2017 a las 23:58

Hola,

Es posible que sea por las comillas?? A veces al copiar y pegar


de aquí se insertan unas comillas diferentes a las habituales.
Para asegurarte bórrarlas y escríbelas con el teclado
manualmente.

Saludos

rubens dice:
19 marzo, 2017 a las 18:12

Si, era por las comillas pero igualmente aunque ya no me da


error no me modifica nada, me crea el nuevo txt con el registro
igual, por el menu no debería ser, y en %campo% le puse
%mod% que es el nuevo campo

4m1g0 dice:
19 marzo, 2017 a las 19:15

Hola, en el código que pusiste tu inicialmente pone:


set /p mod= Escriba el nuevo telefono:

Por lo tanto %mod% entiendo que es el nuevo valor que


queremos asignar, así que no se puede sustituir por %campo%

%campo% debe ser el valor que nos diga cual de los datos
tenemos que modificar, asignandolo en el código que pusiste tu
arriba quedaría una cosa así:

1 :nombre
2 set /p modificar= Escriba el nombre a modificar:
3 set /p mod= Escriba el nuevo nombre:
4 set /a campo=nombre
5 goto modif
6
7 :apellido
8 set /p modificar= Escriba el apellido a modificar:
9 set /p mod= Escriba el nuevo apellido:
10 set /a campo=apellido
11 goto modif
12
13 :telefono
14 set /p modificar= Escriba el telefono a modificar:
15 set /p mod= Escriba el nuevo telefono:
16 set /a campo=telefono
17 goto modif
18
19 :modif
20 for /f “tokens=1-4 delims=:” %%i in (Agenda.txt) do (
21   set linea=%%i:%%j:%%k:%%l
22   If %%i == %DNI3% (echo DNI: %%i Nombre: %%j Apellidos: %%k telefono: %%l)
23   If %campo% == nombre (
24     IF %%j == %modificar% ( set linea=%%i:%mod%:%%k:%%l )
25   )
26   If %campo% == apellido (
27     IF %%k == %modificar% ( set linea=%%i:%%j:%mod%:%%l )
28   )
29   If %campo% == telefono (
30     IF %%l == %modificar% ( set linea=%%i:%%j:%%k:%mod% )
31   )
32   Echo !linea! >> Nueva_Agenda.txt
33 )
34

rubens dice:

27 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

19 marzo, 2017 a las 19:40

No lo entiendo, ahora lo que me hace es duplicar el mismo


registro a Agenda.txt en vez de modificarlo. Perdona si soy
pesado jeje

34. 4m1g0 dice:


19 marzo, 2017 a las 19:54

Rubens, te pongo el ejemplo completo que he usado yo para más claridad:

1 SETLOCAL ENABLEDELAYEDEXPANSION
2 @echo off
3 :inicio
4 set /p campo=que quieres modificar nombre, apellido o telefono?
5 if %campo% == nombre goto nombre
6 if %campo% == apellido goto apellido
7 if %campo% == telefono goto telefono
8 echo error, opcion no valida
9 goto inicio
10
11 :nombre
12 set /p modificar= Escriba el nombre a modificar:
13 set /p mod= Escriba el nuevo nombre:
14 goto modif
15
16 :apellido
17 set /p modificar= Escriba el apellido a modificar:
18 set /p mod= Escriba el nuevo apellido:
19 goto modif
20
21 :telefono
22 set /p modificar= Escriba el telefono a modificar:
23 set /p mod= Escriba el nuevo telefono:
24 goto modif
25
26 :modif
27 for /f "tokens=1-4 delims=:" %%i in (Agenda.txt) do (
28 set linea=%%i:%%j:%%k:%%l
29 If %campo% == nombre (IF %%j == %modificar% ( set linea=%%i:%mod%:%%k:%%l ))
30 If %campo% == apellido (IF %%k == %modificar% ( set linea=%%i:%%j:%mod%:%%l ))
31 If %campo% == telefono (IF %%l == %modificar% ( set linea=%%i:%%j:%%k:%mod% ))
32 echo !linea! >> Nueva_Agenda.txt
33 )
34

Agenda.txt contiene lo siguiente:

1 123:john:smith:1234567
2 321:ann:johanson:7654321

Y para probarlo puedes responder a las preguntas con:


> nombre
> john
> Michael

Saludos

Responder

rubens dice:
19 marzo, 2017 a las 22:22

Vale, ahora si me funciona, no se que me fallaba si lo tenía igual, ahora para


rematar necesito ponerle un error en caso de que el DNI no exista. Se lo
pongo antes de elegir lo que quiero modificar pero ponga el DNI que ponga
me va decir que no existe y finaliza

Responder

4m1g0 dice:
19 marzo, 2017 a las 22:50

No se para que usas el DNI, yo en mi ejemplo no lo he usado para nada.

En cualquier caso yo lo que haría sería comprobar en el bucle si la fila

28 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

actual contiene el DNI que estás buscando (eso es un if) y asignaría una
variable.

Al final del bucle simplemente tienes que comprobar si esa variable está
asignada, si no lo está es que ninguna fila contiene dicho DNI.

Dale una vuelta a ver si lo consigues, te recomiendo poner el comando


echo a lo largo del programa mientras lo estás programando, para ver
que valores tienen las variables en todo momento, así es más fácil
encontrar los errores.

Si no lo consigues pásame el código y lo vamos viendo juntos.

Saludos

Responder

rubens dice:
20 marzo, 2017 a las 20:49

Tengo puesto lo del DNI para comprobar si existe o no, introduzco


el dni, si existe me salta al menu, y en caso de no existir saltar a un
mensaje de que no existe, es lo que intento hacer. Voy a mirar lo
que me dices a ver

Responder

rubens dice:
20 marzo, 2017 a las 21:05

Listo, hice un for después del DNI, si ese DNI existe ve a


opciones, sino existe ve a mensaje de error y fin de programa

4m1g0 dice:
21 marzo, 2017 a las 23:50

Genial, me alegro mucho de que lo hayas conseguido.

Saludos

35. Gian dice:


22 marzo, 2017 a las 0:16

Buenas! Necesito una ayuda para finalizar un ejecutable y ya no se mas que


pensar… El mismo extrae todos los .rar dentro de una carpeta y sus subdirectorios
gracias al 7z.exe, los elimina una vez extraido y guarda la lista de lo extraido…
El problema… cuando un rar está en varias partes (part1,part2,part3,etc) el
comando extrae y une todo desde la Part1 pero el batch sigue tomando part2,
part3 y me pregutna si quiero sobre escribir o omitir, obviamente omito y se
elimina cada parte…
Ahora bien, podrian darme una mano para que directamente omita todos los rar
que tengan part2 en adelante y los borre?

Saludos…

te dejo parte del codigo..


——————————————————————————————
@echo off
SETLOCAL EnableDelayedExpansion
set var1="cualquierdirectorio"
for /R %%I IN (*.rar) DO (
%%I | findstr c:/".part"
IF %errorlevel% EQU 1 && var1==%%~pI (
echo %%I >> Listado.txt && SET var1=%I% && del /S /Q "%%I"
)ELSE(
7z x -o"%%~dpI" "%%I" && echo %%I >> Listado.txt && SET var1=!x!%%I && del /S /Q "%%I")
)
)
pause

———————————————————————————————-

29 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

4m1g0 dice:
23 marzo, 2017 a las 1:22

Hola,

Se me ocurre que simplemente compruebes cuales de los archivos terminan


por “partXXX” para ellos puedes usar algo así:
echo %node% | findstr /r ".*part[0-9]*" >nul 2>&1
if errorlevel 1 (echo no es .part) else (echo es .part)

Fuente: http://stackoverflow.com/questions/23169696/batch-compare-
variable-with-regular-expression

Por otro lado, el 7z, te permite realizar un listado de ficheros comprimidos sin
necesidad de descomprimir. Echa un vistazo a: https://sevenzip.osdn.jp
/chm/cmdline/commands/list.htm

Saludos

Responder

36. rubens dice:


29 marzo, 2017 a las 20:18

Hola de nuevo, ahora necesito ayuda con bash. Se me da algo mejor que los bat
pero sigo teniendo problemas. Tengo un ejercicio que ya hice en bat de copiar y
mover con parametros. Tengo fallo en los if de si existe o no el fichero o directorio.
if [ -e $1 ]
then
echo No existe el fichero
exit
elif [ -d $1 ]
then
echo No existe el directorio
fi

if [ $3 = copiar ]
then
cp $1 $2
exit
else
if [ $3 = mover ]
then
mv $1 $2
exit
else
if [ ' $3 = "" ' ]
then
echo La sintaxis no es correcta
fi
fi
fi

Responder

4m1g0 dice:
4 abril, 2017 a las 17:34

Hola Rubens,

No entiendo del todo el propósito del programa, pero veo algunas cosas mal.

Por ejemplo: [ -e test ] es VERDADERO si existe el fichero “test” y [ -d test ]


verdadero si existe el directorio “test”. Por lo tanto lo que estas haciendo es:
Si existe el fichero escribimos: “No existe el fichero”.

Creo que lo que querías es comprobar si NO existe. Para negar, puedes usar
el simbolo de exclamación de esta forma:

1 if [ ! -e $1 ]
2 then
3 echo No existe el fichero
4 exit

30 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

5 elif [ ! -d $1 ]
6 then
7 echo No existe el directorio
8 fi

Saludos

Responder

37. Gabriel dice:


16 abril, 2017 a las 17:21

Disculpa necesito acceder a mi memoria con un batch pero sólo puedo desde el
CMD me podrías decir si hay alguna fucion o de que manera puedo acceder?

Responder

4m1g0 dice:
28 abril, 2017 a las 10:07

Hola,

Con memoria, ¿te refieres a una memoria USB?

Puedes acceder a ella usando una ruta del sistema por ejemplo si está en la
unidad F: F:\miArchivo.txt

Responder

Gabriel dice:
14 julio, 2017 a las 19:05

Si mas o menos así lo había hecho pero accedía, pero creo que era por la
computadora le intente en otra y ya se pudo, ahora sólo me falta
reescribir, gracias, 4m1g0!

Responder

Martin dice:
22 junio, 2017 a las 3:05

set/p var=Que USB quiere revisar? E – F – G – H ?


dir %var%:

Responder

Gabriel dice:
14 julio, 2017 a las 19:12

A ya vi quería hacer algo como eso el pequeño problema era que quería
que el usuario ingresara caracteres como (/:\) en las direcciones y creo
que eso era lo que hacia que el script no se ejecutara correctamente
gracias por esa sugerencía Martin.

Responder

38. rubens dice:


17 abril, 2017 a las 17:02

Si, ahora funciona, lo que quería hacer era comprobar si existia el directorio o
fichero, y lo que estaba haciendo yo era decirle si era verdadero en vez de
negación. Muchas gracias
Perdona por no responder antes, estos días estuve un poco desconectado jeje, te
voy a tener que molestar más con los scripts.
Tengo un script que tiene que recibir N parametros. Si N es menor que 2 el
programa finaliza. El programa tiene que comparar los parametros 2 a 2
indicando si son iguales o no. En caso
de que el numero de parametros recibidos sea impar, el ultimo parametro no
tendra con quien compararse. Para este ultimo caso indicaremos por pantalla
que el parametro no se puede comparar.
Ejecuto por ejemplo comparar.sh casa perro gato gato rio rio mar cielo sol, y tiene

31 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

que comparar cada una de las palabras

Tal como lo tengo ahora mismo me sale siempre número de parametros


insuficiente

#!/bin/bash

if [ ‘ $2 = “” ‘ ]
then
echo Numero de parametros insuficiente
elif [ ‘ $2 = “” ‘ ]
then
echo $1 no tiene pareja
shift
shift
elif [ ‘ $1 = $2 ‘ ]
then
echo $1 es igual que $2
else [ ‘ $1 != $2 ‘ ]
echo $1 es diferente de $2
fi

Responder

4m1g0 dice:
28 abril, 2017 a las 10:50

Hola de nuevo,

Perdona la tardanza, yo también he estado liado últimamente.

Ante de nada un aviso para el resto que estén leyendo este comentario: Esto
es BASH, no BATCH, es un lenguaje diferente ampliamente usado en
Linux, pero no tiene relación con el tutorial.

Lo primero que no entiendo es por que usas comillas simples (‘) en los ifs. (Es
posible que tengan alguna función que desconozco, si es así agradecería que
me lo aclarases)

El primer if que usas, si te fijas, estás preguntando si $2 están en blanco


hacemos algo, en caso contrario (elif), si $2 está en blanco, hacemos otra
cosa. Si te fijas esto no tiene sentido.

Por otro lado, vas a necesitar un bucle para comparar todos los parámetros
independientemente de cuantos haya.

Yo empezaría por comprobar si tienes al menos 2 parámetros (-lt less than).


con $# puedes ver el numero de parámetros que te quedan y con shift quitas
el primero y desplazas todos una posición:

1 if [ $# -lt 2 ]
2 then
3 echo numero insuficiente de parametros
4 exit
5 fi

Una vez hecho esto ya sabes que tienes al menos 2 parámetros (-ge greater
or equal). Ahora iniciamos el bucle mientras el número de parámetros
restante siga siendo superior a 2:

1 while [ $# -ge 2 ]
2 do
3   if [ $1 -eq $2 ]
4   then
5     echo $1 es igual a $2
6   else
7     echo $1 es distinto de $2
8   fi
9   shift
10   shift
11 done

Si te fijas lo último que hago en el bucle es desplazar 2 veces los parámetros,

32 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

para que en $1 y $2 estén los 2 siguientes parámetros la próxima vez que


entremos en el bucle.

Al final del programa (al salir del bucle) pueden ocurrir dos cosas:

Que todavía quede 1 parámetro


Que no quede ninguno

Esto lo puedes comprobar con un if simple que ya te lo dejo a ti

Espero que te sea de utilidad.

Saludos

Responder

39. Jorge dice:


25 abril, 2017 a las 18:32

4m1g0,

esperando te encuentres bien.-


Necesito ayuda para ocultar una contraseña en un archivo bat.-

set ruta=”\\servidor\appbech”

set /p USER= USUARIO:

Set /p PASS= Contrasena:

net use F: %ruta% %PASS% /user:dominio\%USER%

Responder

4m1g0 dice:
28 abril, 2017 a las 12:25

Hola Jorge,

En batch no es algo fácil de hacer, en linux por ejemplo si que existen


herramientas muy sencillas, pero con batch no conozco una forma “limpia” de
conseguir lo que pides.

Te dejo por aquí un enlace donde hablan de como hacerlo, por si lo necesitas
forzosamente. Pero si no es estrictamente necesario yo lo evitaría.

http://stackoverflow.com/questions/5852759/hide-input-in-batch-file

Saludos

Responder

40. dario dice:


27 abril, 2017 a las 14:59

como obtengo la hora hhmmss batch.. supongo que debo obtenerla por cada parte
porque luego necesito completar el nombre de un archivo.txt
saludos

Responder

4m1g0 dice:
28 abril, 2017 a las 11:00

Hola Darío,

Para obtener la fecha en batch puedes usar la variable %date% el problema


es que dependiendo del idioma el formato varía.

En mi caso si hago: echo %date% me devuelve: Wed 03/15/2017

Si en tu equipo el formato tambien es ese puedes obtener cada parte así:

33 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Día: %date:~7,2%
Mes: %date:~4,2%
Año: %date:~-4%

Con eso puedes formatearlo como quieras. Por ejemplo: echo %date:~-
4%-%date:~4,2%-%date:~7,2%

Saludos

Responder

41. DJC22 dice:


4 mayo, 2017 a las 15:16

en la segunda parte del tutorial en el cod.2 as puesto “hola” sin ‘h’.


@echo off
set nombre= Pepito
echo.
echo mira aqui: ola %nombre%
echo.
pause
exit

Responder

4m1g0 dice:
4 mayo, 2017 a las 19:12

Hola,

Le acabo de dar una pequeña corrección al articulo.

Gracias por avisar

Responder

42. Pablo Vivas dice:


15 mayo, 2017 a las 10:14

Hola 4m1g0! Te enseño un mini programa que he hecho gracias a tus consejo.
Muy útil el tutorial! Mirate el programa pls y si ves algún fallo o algo por el estilo,
estaría muy agradecido de que me lo comentases. Si hay algo que le viniese bien
al programa no dudes en comentarmelo. Muchas gracias y que lo disfrutes!!

1 @echo off
2 title PROGRAMA PABLO VIVAS
3 color 70
4 echo.
5 echo Bienvenido a el programa de inteligencia!
6 echo.
7 echo Siempre que no aparezca nada, o hallas terminado de escribir, PULSA ENTER
8 pause>nul
9 cls
10 echo.
11 set/p nombre= Primero quiero saber tu nombre... Como te llamas? (Escribelo)
12 pause>nul
13 cls
14 echo.
15 set/p años= Y tu edad?
16 pause>nul
17 :si/no
18 cls
19 echo.
20 set/p si/no= Hola %nombre%, Quieres calcular algo en  la calculadora?(Si/No)
21 if %si/no%==Si goto inicio else goto error2
22 if %si/no%==No goto iniciotest else goto error2
23 if %si/no%==si goto inicio else goto error2
24 if %si/no%==no goto iniciotest else goto error2
25 pause>nul
26 :error2
27 cls
28 echo.
29 echo Lo siento, no lo entiendo, repitelo porfavor.
30 pause>nul
31 goto si/no
32 :inicio

34 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

33 cls
34 echo.
35 set/p variable1= Que quieres, sumar, restar, dividir o multiplicar?
36 if %variable1%==sumar goto sumar else goto error1
37 if %variable1%==dividir goto dividir else goto error1
38 if %variable1%==restar goto restar else goto error1
39 if %variable1%==multiplicar goto multiplicar else goto error1
40 if %variable1%==Sumar goto sumar else goto error1
41 if %variable1%==Dividir goto dividir else goto error1
42 if %variable1%==Restar goto restar else goto error1
43 if %variable1%==Multiplicar goto multiplicar else goto error1
44 pause>nul
45 cls
46 :error1
47 echo.
48 echo Lo siento, no lo entiendo, repitelo porfavor.
49 pause>nul
50 goto inicio
51 :Sumar
52 cls
53 echo.
54 set/p numero1= Dime tu primer numero
55 pause>nul
56 cls
57 echo.
58 set/p numero2= Dime tu segundo numero
59 set/a suma = %numero1% + %numero2%
60 pause>nul
61 cls
62 echo.
63 echo El resultado es %suma%
64 pause>nul
65 goto continuar
66 :dividir
67 cls
68 echo.
69 set/p num3= Dime un numero
70 pause>nul
71 cls
72 echo.
73 set/p num4= Dime otro numero para divirlo al anterior
74 set/a division= %num3% / %num4%
75 pause>nul
76 cls
77 echo.
78 echo El resultado es %division%
79 pause>nul
80 :continuar
81 cls
82 echo.
83 set/p si/no= Quieres continuar calculando?.(Si/No)
84 if %si/no%==Si goto inicio
85 if %si/no%==No goto iniciotest
86 if %si/no%==si goto inicio
87 if %si/no%==no goto iniciotest
88 :error2
89 echo.
90 echo Lo siento, no lo entiendo, repitelo porfavor.
91 pause>nul
92 goto continuar
93 :multiplicar
94 echo.
95 cls
96 echo.
97 set/p num5= Dime un numero
98 pause>nul
99 cls
100 echo.
101 set/p num6= Dime otro numero para multiplicarlo por el anterior
102 set/a multiplicacion= %num5% * %num6%
103 pause>nul
104 cls
105 echo.
106 echo El resultado es %multiplicacion%
107 pause>nul
108 goto continuar
109 :restar
110 echo.
111 cls
112 echo.
113 set/p num7= Dime un numero
114 pause>nul
115 cls
116 echo.

35 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

117 set/p num8= Dime otro numero para restar el anterior


118 set/a resta= %num7% - %num8%
119 pause>nul
120 cls
121 echo.
122 echo El resultado es %resta%
123 pause>nul
124 goto continuar
125 pause>nul
126 :iniciotest
127 cls
128 echo.
129 set/p test= Quieres hacer un test?(Si/No)
130 if %test%==Si goto test
131 if %test%==No goto final calculadora
132 if %test%==si goto test
133 if %test%==no goto final calculadora
134 echo.
135 pause>nul
136 :test
137 cls
138 echo.
139 set/p test1= Completa la serie: 6, 1, 8, 3, 10...(A=4 B=5 C=12 D=7)
140 if %test1%==A goto errortest1
141 if %test1%==B goto correctotest1
142 if %test1%==C goto errortest1
143 if %test1%==D goto errortest1
144 if %test1%==a goto errortest1
145 if %test1%==b goto correctotest1
146 if %test1%==c goto errortest1
147 if %test1%==d goto errortest1
148 if %test1%==4 goto errortest1
149 if %test1%==5 goto correctotest1
150 if %test1%==12 goto errortest1
151 if %test1%==7goto errortest1
152 pause>nul
153 cls
154 echo.
155 echo Lo siento, no te he entendido bien.
156 pause>nul
157 goto test
158 pause>nul
159 :errortest1
160 cls
161 echo.
162 echo Respuesta incorrecta, la serie va de dos en dos cada dos numeros.
163 pause>nul
164 goto test2
165 pause>nul
166 :correctotest1
167 cls
168 echo.
169 echo Bien hecho!
170 pause>nul
171 :test2
172 cls
173 echo.
174 set/p test2= Segunda prueba: Cuantos meses tienen 28 dias al año? (A=1, B=Todos, C=2)
175 if %test2%==A goto errortest2
176 if %test2%==B goto correctotest2
177 if %test2%==C goto errortest2
178 if %test2%==a goto errortest2
179 if %test2%==b goto correctotest2
180 if %test2%==c goto errortest2
181 if %test2%==1 goto errortest2
182 if %test2%==todos goto correctotest2
183 if %test2%==2 goto errortest2
184 pause>nul
185 cls
186 echo.
187 echo Lo siento, no te he entendido bien.
188 pause>nul
189 goto test2
190 pause>nul
191 :errortest1
192 cls
193 echo.
194 echo Respuesta incorrecta, todos los meses contienen 28 dias
195 pause>nul
196 goto test3
197 :errortest2
198 cls
199 echo.
200 echo Respuesta incorrecta, Intentelo de nuevo

36 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

201 pause>nul
202 goto test2
203 :correctotest2
204 cls
205 echo.
206 echo Bien hecho!
207 pause>nul
208 :test3
209 cls
210 echo.
211 set/p test3= Tercera prueba: El padre de Ana tiene 5 hijos: Pata, Pete, Pito, Pota y... ¿Como
212 if %test3%==ANA goto correctotest3
213 if %test3%==PUTA goto errortest3
214 pause>nul
215 cls
216 echo.
217 echo Lo siento, no te he entendido bien. Rescuerda poner el nombre en MAYUSCULAS
218 pause>nul
219 goto test3
220 :errortest3
221 cls
222 echo.
223 echo Respuesta incorrecta, como es el padre de Ana, Ana sera su quinta hija
224 pause>nul
225 goto final calculadora
226 :correctotest3
227 cls
228 echo.
229 echo Bien hecho! Eres muy inteligente... Llegaras muy lejos
230 pause>nul
231 :final calculadora
232 cls
233 echo.
234 echo Muchas gracias, has acabado el programa de inteligencia!

Responder

4m1g0 dice:
15 mayo, 2017 a las 11:34

Hola Pablo,

Impresionante, me ha encantado el programa y me has pillado con la de los


meses de 28 días…

La verdad es que no le veo ninguna pega, has tenido en cuenta cualquier tipo
de respuesta como por ejemplo en la serie que se puede responder B, b o
incluso 5, eso me ha encantado.

Por decirte una curiosidad simplemente. A la hora de dividir hay un caso


especial que todos los programas profesionales deben controlar, y que (aun
que parezca mentira), sigue siendo el motivo de que muchos programas
“crasheen” y se cierren solos. Y es que no se puede dividir por 0, es
matemáticamente imposible. En este caso bash lo maneja, pero lo habitual es
poner un if para comprobar eso específicamente.

Por curiosidad. ¿Cuantos años tienes? ¿Cómo te interesaste por la


programación? ¿Te gustaría continuar aprendiendo?

Un saludo y muchas gracias por tu comentario

Responder

Pablo Vivas dice:


15 mayo, 2017 a las 11:49

Muchas gracias por mirarlo y por lo de la división!


Tengo 14 años y estoy muy liado porque no se que voy a hacer de
mayor… Programación es una de esas opciones(la más probable que
elija). Me interesé un día que un niño vino al colegio con un pen-drive
diciendo:”Si pongo este pendrive en el ordenador se te borra todo”. Me
interesó y fui a mirar en yt como hacer un programa de esos. Averigüe el
.bat y el lenguaje, lo busqué en internet y me salió esto.

Si que quiero seguir aprendiendo, tanto que ya tengo pensado investigar


lo que puede hacer linux, he mirado varios comentarios de este foro y
me he metido en links como por ejemplo el de como es la pagina web por

37 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

dentro…

Me he dado cuenta que pones mucho una página en inglés de


programación, no se me da mal el inglés pero hay algunas cosas que no
entiendo, sabes alguna otra página como esa pero que este en español?
te lo agradecería.

Muchas gracias por mirarlo y nos vemos!!!

Responder

Pablo Vivas dice:


15 mayo, 2017 a las 11:52

Por cierto, tengo otra duda.


Cuando tienes que responder a alguna cosa (en el mini programa) como por
ejemplo lo de sumar, restar… le tengo que dar dos veces al enter: una para
confirmar lo que he escrito y otra para pasar a la siguiente pregunta. ¿hay
alguna manera para que con un solo enter puedas pasar?

No se si me entiendes, no me suelo explicar muy bien… Hasta pronto

Responder

Pablo Vivas dice:


15 mayo, 2017 a las 20:09

Por cierto (siento la pesadez) También estoy investigando programas como


Java Script, Phyton, C++… te sebes alguna web que te explique todo esto?
Muchas gracias y nos vemos!

Responder

4m1g0 dice:
15 mayo, 2017 a las 20:54

Hola!

Te intento responder a todo:

La doble pausa es por que el set/p ya hace un “pause” automáticamente,


al estar poniendo un pause>nul a mayores estás haciendo la segunda de
las paradas. Creo que te refieres a esto.

Con respecto a lo del inglés: Es el idioma “estándar” en ámbitos de


investigación, por lo tanto la información más avanzada y más completa
normalmente va a estar en inglés. El 90% de lo que leo y escribo a lo
largo del día es en inglés y por eso la mayor parte de recursos que
conozco son en ese idioma. Pero a nivel básico e intermedio tienes un
montón de contenido en Español, más abajo te dejo algunos enlaces. (No
te agobies si no te sientes cómodo con contenido en inglés, poco a poco
te irás acostumbrando sin que te des cuenta, pero te recomiendo que no
dejes de dar clases siempre que puedas)

Con respecto a como comenzó a interesarte, te comento que me pasó


exactamente lo mismo que a ti, de hecho hasta hace poco tenia un post
de “como crear un virus en bat” en este blog, pero lo borré por que me
parecía poco profesional je je. Con lo que sabes ahora, estoy seguro que
eres capaz de crear un programilla que te bloquee el ordenador:
haciendo por ejemplo un open cmd y volviendo al inicio para abrir un
monton de cmds…

Con respecto a Linux, desde luego es un mundo que te recomiendo, pero


sin agobiarte por ahora, yo no uso Windows para nada a día de hoy, solo
Linux.

Con respecto a que hacer ahora, te recomiendo html + javascript, y si


quieres una continuación más compleja de bat puedes meterte
directamente con un lenguaje como C o C++

38 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

WEB html/javascript: https://desarrolloweb.com/manuales/publicar-


webs-internet.html
Javascript: https://desarrolloweb.com/javascript/

Para C/C++ mi recomendación es que NO uses Visual Studio. Si no algo


como Code Blocks: http://www.codeblocks.org/downloads/26
Y te recomiendo este tutorial: http://c.conclase.net/curso
/index.php?cap=000#inicio

Cualquier cosa me vas comentando. Si quieres abre un nuevo hilo en el


foro (En cualquier lado) https://todohacker.com/forum/

Y ahí te ayudo con lo que necesites.

Saludos

Responder

Yembolit19 dice:
21 mayo, 2017 a las 10:17

Hey Amigo! 4m1g0 (soy Pablo Vivas


Tengo varias dudas…
La primera tiene que ver con la del perfil, una es un fallo y otro es
una pregunta, cuando yo inicio sesión me pide, para confirmar de
que no soy un robot, introducir un código un poco disimulado que
hasta a mí me cuesta poner, lo he puesto como unas 5 veces hasta
que al final me ha funcionado.

Quizás deberiais cambiar eso de la seguridad y ponerlo do otra


forma… La segunda cuestión es que al ir a elegir el icono que quiro
que aparzca en mi perfil, me dices q valla a una página en concreto
para que me lo cree allí. Una vez creado todo, no se ha donde darle
para que se me ponga como foto y me tiene un poco mosqueado…

Sobre la programación, estoy investigando en XCode ¿te suena?


(supongo que sí eres programador). Me preguntaba, como tengo
ahora un mac, y hay algunas limitaciones en cuanto programar con
algunos programas, hay alguno que sea C++ en mac? Y antes de
todo, que lenguage me recomiendas, me he mirado videos viendo
cual es el más recomendable pero cada uno me dice una cosa…

Muchas gracias por todo y nos vemos!!

Responder

Yembolit19 dice:
21 mayo, 2017 a las 10:18

Y otra cuestión, me gusta mucho el idioma batch, algún programa


así en mac para que lo pueda seguir ejercitando? Gracias!

Responder

4m1g0 dice:
21 mayo, 2017 a las 14:40

Hola,

Gracias por avisar de lo del registro, lo puse complicado por


que se registraban muchos bots para hacer spam, pero la
verdad es que está demasiado complicado todo el proceso de
registro, voy a cambiarlo.

Con respecto a la imagen de perfil, está vinculada con


Gravatar. Si te registras en https://es.gravatar.com/ con el
mismo correo que aquí automáticamente aparecerá el avatar
que selecciones en gravatar. Pero tarda un poco en aparecer.

Con respecto a mac, no te puedo ayudar por que no lo uso.

39 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Pero en mi opinión personal los entornos de mac estan


pensados para generar dependencia hacia la empresa Apple y
es algo con lo que estoy muy en contra, por lo tanto
simplemente recomendarte ser siempre crítico y no dejarte
llevar.

Con Xcode puedes trabajar con C++ Xcode > File > New >
Project > Command Line Tool > Next > Language -> C++

El programa que te recomendaba antes: Code Blocks, está


disponible para mac también.

Con respecto a los lenguajes, yo empecé directamente con


C++ pero no es fácil, puedes probarlo y vas viendo tu mismo,
otras opciones son javascript (solo necesitas un navegador web
para programarlo) y python (es bastante fácil)

Por otro lado BATCH es un lenguaje de windows, y no está


disponible en mac, tanto mac como linux usan BASH, un
lenguaje mucho mas potente pero se parece bastante, en
alguno de los comentarios más arriba hice referencia a el.

Ánimo y poco a poco


Saludos

4m1g0 dice:
21 mayo, 2017 a las 15:08

Ya he actualizado la página, el registro es más sencillo, además


ahora, si quieres, puedes subir tu avatar directamente, sin
usar Gravatar.

Saludos

Yembolit19 dice:
21 mayo, 2017 a las 17:40

Muchas gracias!!! Ya tengo mi bonita foto de perfil:)

Gracias tmb por lo del C++ y lo del BASH… Tu, habiendo


empezado en C++, que me recomiendas, empezar por el fácil
(phyton) o por el C++. A la hora de lo profesional, el lenguaje
más utilizado es el C++ o son todos más o menos por igual?

Muchas gracias y nos vemos amigo!

Pablo V

4m1g0 dice:
21 mayo, 2017 a las 18:08

Actualmente se está trabajando mucho con Python por que es


más rápido a la hora de desarrollar pero menos potente, lo
mismo pasa con javascript, también se está usando un montón.
Pero C y C++ siguen siendo muy importantes. Aquí tienes una
lista de lenguajes más usados: https://www.tiobe.com/tiobe-
index/

De todos modos no te preocupes, el lenguaje no importa tanto,


lo importante es aprender a programar, una vez conozcas 2
lenguajes el resto te van a resultar muy fáciles de aprender. Ye
te recomendaría que le echases un vistazo a C++ y me pondría
como reto hacer el mismo programa que hiciste en batch, pero
en C++. Cuando lo consigas ya sabrás lo necesario para tomar
una decision sobre por donde continuar.

Cualquier cosa referente a lo que vayas aprendiendo, puedes

40 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

comentarla en el foro (te respondí allí también) y la vamos


viendo.

https://todohacker.com/forum/preguntas/

Saludos

43. wicho dice:


24 mayo, 2017 a las 19:28

Buenas tardes mi duda es que necesito crear un .bat o .bash que al momento
abrirlo abra el ejecutar o run y ahi ponga una ip con la cual se hagan ciertas
funciones igual ya eso lo puedo hacer yo el problema es asignarle la ip que quiero
al abrirse el ejecutar pero al abrirse solo se queda cmd y nose como insertar los
caracteres deseados, nose si me explique.

Responder

4m1g0 dice:
25 mayo, 2017 a las 16:47

Hola Wicho,

Lo siento, pero no he entendido nada. ¿Cuál es el objetivo final de lo que


quieres hacer?

Saludos

Responder

44. Ana dice:


26 mayo, 2017 a las 21:05

Me ha encantado, estoy empezando y es muy útil. Gracias

Responder

4m1g0 dice:
26 mayo, 2017 a las 23:47

Gracias a ti, y ánimo con ello!

Responder

45. yai dice:


5 junio, 2017 a las 20:45

…gracias… muy útil. Que placer que existan páginas como esta.

Responder

4m1g0 dice:
5 junio, 2017 a las 22:43

Muchas gracias a ti por tomarte el tiempo de comentar!

Me alegro mucho que te haga gustado.

Saludos

Responder

46. Martin dice:


8 junio, 2017 a las 23:38

quiero usar una variable en un batch para revisar memorias USB, por ejemplo:
set /p var= Que USB quiere revisar?
if %var%==d goto d:
if %var%==e goto e:
if %var%==f goto f:

41 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

La gran pregunta: se puede o hay otra forma

Responder

Martin dice:
13 junio, 2017 a las 2:03

La pregunta la voy a responder yo mismo, porque buscando por ahí encontré


lo que necesitaba.

set/p var=Que USB quiere revisar? E – F – G – H ?


Attrib -r -a -h -s %var%:\*.* /S /D
dir %var%:

Este codigo te pregunta que USB quieres revisar, luego cambia los atributos
de carpetas y subdirectorios, y finalmente te da el directorio de esa USB.

Responder

4m1g0 dice:
13 junio, 2017 a las 10:41

Hola Martin,

Gracias por publicar la solución.

¿Por que necesitas modificar los atributos de la memoria con attrib antes
de mostrar?

Saludos!

Responder

Martin dice:
15 junio, 2017 a las 18:07

Mi duda fue siempre con los virus que se propagan por los USB de
forma invisible.
Para esto los hackers usan el comando attrib para ocultar los virus
y los scrip.
Asi que al poner ese comando antes de pedir el directorio voy a ver
todos los archivos incluso los que posiblemente esten ocultos.

Saludos

Responder

4m1g0 dice:
15 junio, 2017 a las 19:07

Entiendo, no es mala idea!

Gracias por la aclaración.

Saludos

47. Bruno dice:


12 junio, 2017 a las 21:15

De pura casualidad tendrás algún código que modifique el grupo de trabajo de la


computadora?

Responder

Martin dice:
13 junio, 2017 a las 2:09

mira, eso de cambiar algo dentro de Windows, generalmente tiene que ver
con el registro. Allí hay que buscar que parte controla los grupos de trabajo y
asi poder cambiarlos. puedes hacer la misma pregunta en

42 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

lawebdelprogramador.com

Suerte!

Responder

4m1g0 dice:
13 junio, 2017 a las 10:35

Hola Bruno,

Deberías poder hacerlo con esto:


Wmic computersystem where name=”%computername%” call
joindomainorworkgroup name=”New_Workgroup_Name”

Ten cuidado al copiarlo del navegador por que a veces las comillas no se
copian correctamente, mejor ponerlas a mano.

Fuente: http://www.joedissmeyer.com/2011/09/change-windows-workgroup-
name-from.html

Saludos

Responder

Bruno dice:
13 junio, 2017 a las 16:24

Muchas gracias a ambos, intentaré con ese código. Gracias

Responder

Martin dice:
15 junio, 2017 a las 18:20

Hola 4m1g0 y Bruno:


revise la fuente para cambiar el nombre de grupo y ahí hay una
advertencia que la tradusco:
“Asegúrese de cambiar NEW_WORKGROUP_NAME al nombre real del
grupo de trabajo del que desea que el equipo sea parte (y sí, las comillas
son necesarias para que el comando funcione).

Responder

48. Cesar dice:


15 junio, 2017 a las 20:01

Hola pido ayuda para renombrar quiero quitar los paréntesis a varios archivos:
quedando como ejemplo:

18100607_1900000470_ (1).xml quedando 18100607_1900000470_ 1.mxl


18100607_1900000470_ (2).xml quedando 18100607_1900000470_ 2.mxl

Responder

4m1g0 dice:
16 junio, 2017 a las 10:58

Hola Cesar,

Es una pregunta muy interesante y una utilidad que poca gente conoce.

En bash se pueden reemplazar caracteres de una variable utilizando esta


nomenclatura:

1 %variable:A=B%

Siendo “variable” el nombre de la variable, la letra A se reemplazará por B.

Ejemplo:
set file=archivo.txt

43 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

echo %file:t=g%
archivo.gxg

En el caso en que pides, tendrías que hacer dos reemplazos, suponiendo que
tienes el nombre del fichero en la variable %file% quedaría así:

1 set file1=%file:(=%
2 set file1=%file1:)=%
3 ren %file% %file1%

Con el comando ren, renombramos el fichero.

Saludos

Responder

49. Martin dice:


20 junio, 2017 a las 17:56

Hola a todos, tengo una nueva:


Resulta que algunos computadores cuando parten el CHKDSK hace una revisión,
lo cual esta bien, pero cada vez que parte ya es una molestia. Encontré un
comando para quitar esto desde CMD “chkntfs /x c: ” La X es para desbloquear.
Pero quise hacer un batch:

set/p U=EN QUE UNIDAD PARTE EL CHKDSK? C – D – E – F – G – H ?


CHKNTFS %U%: /X
%U%:

cuando lo ejecuto me dice ” el tipo del sistema de archivos es NTFS. No se puede


bloquear la unidad actual.CHKDSK no se puede ejecutar porque otro proceso ya
esta usando el volumen. Desea que se prepare el volumen para que sea
comprobado la proxima vez que se reinicie el sistema S/N. ”
Creo que esto pasa porque en mi compu el CHKDSK no esta haciendo esta
revision cada vez que parte.

O es algo más?

Responder

4m1g0 dice:
20 junio, 2017 a las 19:14

Hola,

A mi no me da ningún error pobándolo en un Windows 10 HOME V1703.

En todo caso, el sistema no debería hacer una comprobación de disco cada


vez que inicia, si está haciendo eso es que hay algo mal o que el disco se está
dañando físicamente y podría dejar de funcionar en cualquier momento (lo
cual implicaría perder los datos). Por lo tanto cuidado con eso.

Saludos

Responder

Martin dice:
20 junio, 2017 a las 19:33

Te escucho 4m1gO, gracias por el consejo, lo probare con un compu que


presente esa revision, para ver si funciona el desabilitarlo.

Martin

Responder

50. Mateo dice:


22 junio, 2017 a las 3:13

Y Si Quiero Que Extraiga Un Archivo .zip?

44 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

4m1g0 dice:
22 junio, 2017 a las 15:36

Hola,

Windows no puede comprimir o descomprimir un archivo, necesita un


programa que lo haga… A pesar de que este programa viene integrado en el
explorador de carpetas, no lo han añadido a la linea de commandos, por lo
tanto no podemos comprimir o descomprimir archivos directamente.

Lo que si puedes hacer es descargar un programa que comprima y


descomprima en zip y luego ejecutarlo usando la ruta completa a donde los
has descargado.

Por ejemplo: http://www.7-zip.org/download.html


7z e archivo.zip

Esto nos descomprimiría el archivo “archivo.zip”

Saludos

Responder

51. Iván dice:


1 julio, 2017 a las 9:32

hola, veo que respondes con muchas ganas.


Estuve buscando un par de horas… y solo encontre como iniciar un programa con
una prioridad cambiada, ya sea alta o baja, pero no logre encontrar un metodo
para al YA ESTAR EJECUTANDOSE se cambie la prioridad al programa… ¿Existe
alguna forma de hacer eso con un batch u otro archivo o programa que lo hace
sencillo? (porque para estar haciendolo cada vez llendo al adm. de tareas. >
detalles, paso)

Responder

4m1g0 dice:
1 julio, 2017 a las 13:24

Hola Iván!

Antes de nada me da curiosidad por que quieres cambiar la prioridad de un


programa jeje. Antiguamente tenia un poco más de sentido, pero a día de hoy
en ordenadores de escritorio no le veo mucha utilidad.

Para cambiar la prioridad de un proceso en ejecución en windows hay que


usar el WMIC (Windows Management Instrumentation Command-line) que es
un servicio que se maneja con una sintaxis similar a SQL. Por ejemplo, para
cambiar a IDLE (la más baja) la prioridad de un proceso, ejecutaríamos lo
siguiente:
wmic process where name="notepad.exe" CALL setpriority "idle"

Las prioridades disponibles, por orden son:


“idle”, “below normal”, “normal”, “above normal”, “high priority”, “realtime”

Tienes más información aquí: https://msdn.microsoft.com/en-us/library


/aa393587(v=vs.85).aspx

Y aquí: https://stackoverflow.com/questions/23996307/set-process-priority-on-

45 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

already-running-process-batch-file

Saludos

Responder

Iván dice:
9 julio, 2017 a las 5:16

Muchisimas gracias, de verdad!.


Me funciona de maravilla.

Esto te puede sonar medio WTF, pero lo queria para bajar la prioridad
de los procesos del launcher de League of Legends y que asi el main
(cliente in game) funcione mejor, ya que el launcher esta/ba mal
optimizado y genera/ba baja en los FPS. Pusieron una opcion para cerrar
el launcher cuando estas en partida, pero al terminar la partida y volver
al launcher, tarda en cargar, porque tiene que volver a abrirse
(automatico).
Entonces me parece que dejando los procesos con baja prioridad (son 4
del launcher) funcionaria mejor y podria evitarse tener que seleccionar
la opcion de autocierre del launcher cuando estas en partida.

Quiza me equivoque, pero hare las pruebas al menos.


Gracias =)

Pd: habia olvidado revisar, pero lo tenia en marcadores para no olvidar.

Responder

4m1g0 dice:
9 julio, 2017 a las 17:09

Genial, me alegro que te haya servido.

Me interesa bastante saber si notas mejoría o no finalmente, si


tienes un rato cuando lo pruebes para pasar a comentarnos que tal,
te lo agradezco.

En teoría debería mejorar pero, como dije antes, en la actualidad


con los procesadores multinúcleo y tal como funcionan las
aplicaciones, yo nunca he notado una mejoría apreciable.

Saludos!

Responder

52. David dice:


8 julio, 2017 a las 0:12

Hola amigo, estupendo trabajo.

Necesito hacer una busqueda diaria de un archivo en una carpeta. Si el archivo se


encuentra es necesario alertarlo con un mensaje o enviando un correo electrónico.

Responder

4m1g0 dice:
8 julio, 2017 a las 14:43

Hola David,

Si el archivo esta siempre en la misma carpeta puedes comprobar si existe de


esta forma:

if exist test.html
msg “%username%” el archivo existe!!

Para ejecutar automáticamente este programa todos los días lo más fácil es
que crees una tarea programada de windows.

46 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Para ello vas a inicio > Programador de tareas > Biblioteca del programador
de tareas.

Seleccionas “Crear tarea básica” y sigues las instrucciones. La acción que


debes configurar es “ejecutar programa” seleccionando la ruta de tu
programa en batch.

Saludos

Responder

53. wquiceno dice:


16 julio, 2017 a las 22:34

Hola, antes que nada, agradezco mucho tu tiempo y dedicación con este tutorial.
Tengo una duda y quisiera que me ayudaras si te es posible.
Tengo un archivo .bat que me realiza una copia de los archivos pdf de mi usb cada
vez que la conecto al pc, lo con el comando XCOPY:
@Echo Off
For %%D in (
GIJKLMNOPQRSTUVWXYZ
) Do (
If Exist “%%D:\” (
xcopy %%D:*.pdf D:\William\backup /e /i

)
)
Exit
El problema es que últimamente he querido aplicar este proceso para realizar la
copia de las fotos de mi celular, pero no funciona y creo que es porque el equipo
no lo reconoce igual que a una usb, no le asigna una letra…. Lo reconoce como un
reproductor multimedia portátil, aun asi puedo acceder a los archivos
manualmente.
Quisiera saber si existe algún método para apuntar la ruta necesaria en el
comando XCOPY hacia mi celular

Muchas gracias de antemano y anticipadamente

Responder

Martin dice:
30 julio, 2017 a las 4:39

No sé porqué no te da una letra cuando lo conectas, debería y después tienes


que mirar cual es el directorio donde están las fotos, por ejemplo F:\android
\images\pictures y ponerlo en el batch con cd f:\android\images\pictures
xcopy ………….

Responder

54. JAlexander@ dice:


30 julio, 2017 a las 5:57

Hola Martin, gracias por el aporte. Te comento que utilice un condigo .bat para
proteger una carperta. La verdad no tengo nociones de programar y creo me meti
en un lio, ya que al momento de abrir la carpeta esta me aparece vacia. se que
estan ahí los archivos ya que solo deje la carpeta donde está el ejecutable. el
espacio en disco coincide con el tamaño de mis archivos, pero no puede accesar a
estos.
me puedes dar una idea de que carajos hacer, para recuperar mis 64GB de
información?
Gracias por la atención.

Responder

JAlexander@ dice:
30 julio, 2017 a las 6:07

Hola, 4m1g0 la verdad si tú me puedes ayudar, tambien te lo voy agradecer.

47 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

4m1g0 dice:
30 julio, 2017 a las 15:10

Seguramente has ejecutado un comando que te ha dejado sin permisos de


lectura sobre la carpeta.

Prueba a ejecutar: icacls “C:\ruta\a\carpeta” /grant Everyone:M

Sustituyendo la ruta de tu carpeta. Si esto no funciona, dinos que has


ejecutado exactamente a ver si podemos ayudarte.

Saludos

Responder

55. jzaldivarleyva dice:


23 agosto, 2017 a las 20:17

saludos hermano 4m1g0 y demas hermanos de todohacker. Me da mucho gusto


que este post exista.Este simple programa lo hice aprovechando cada uno de sus
ejemplos y comentarios es la app TABLAs .bat y se la dedique a mi hija Ktaherin
zaldivar Paz q ya esta en 4 grado. gracias a todos ustedes por compartir su
conocimiento.que se mantenga el post y espero q 4m1g0 siga con el proximo
tutorial. humildemente hasta la proxima. Que DIOS los bendiga.

1 @echo off
2 title TABLAS DE MULTIPLICACION
3 color 0a
4 echo.
5 set/p nombre=ESCRIBE TU NOMBRE POR FAVOR:
6 cls
7 :Menu
8 cls
9 echo SELECIONE LA TABLA.
10 echo.
11 echo :::: 1  2  3  4  5  6  7  8  9  10 :::
12 echo.
13 echo.
14 set /p var=
15 cls
16 if %var%==1 goto iniciotabla1
17 if %var%==2 goto iniciotabla2
18 if %var%==3 goto iniciotabla3
19 if %var%==4 goto iniciotabla4
20 if %var%==5 goto iniciotabla5
21 if %var%==6 goto iniciotabla6
22 if %var%==7 goto iniciotabla7
23 if %var%==8 goto iniciotabla8
24 if %var%==9 goto iniciotabla9
25 if %var%==10 goto iniciotabla10
26 :iniciotabla1
27 echo.
28 echo  ********* HOLA %nombre% ESTA ES LA TABLA DEL 1 *********
29 echo.
30 echo.
31 :inicio1x0
32 color 0a
33 echo.
34 set/p producto= 1 x 0 =
35 cls
36 echo.
37 if %producto%==0 goto correcto1x0 else goto incorrecto1x0
38 :incorrecto1x0
39 color c0
40 echo.
41 echo INCORRECTO!!
42 echo.
43 echo Vuelve a intentarlo
44 pause
45 cls
46 goto inicio1x0
47 :correcto1x0
48 color 0a
49 echo.
50 echo MUY BIEN!!
51 :inicio1x1
52 color 0a

48 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

53 echo.
54 set/p producto= 1 x 1 =
55 cls
56 echo.
57 if %producto%==1 goto correcto1x1 else goto incorrecto1x1
58 :incorrecto1x1
59 color c0
60 echo.
61 echo INCORRECTO!!
62 echo.
63 echo Vuelve a intentarlo
64 pause
65 cls
66 goto inicio1x1
67 :correcto1x1
68 color 0a
69 echo.
70 echo MUY BIEN!!
71 :inicio1x2
72 color 0a
73 echo.
74 set/p producto= 1 x 2 =
75 cls
76 echo.
77 if %producto%==2 goto correcto1x2 else goto incorrecto1x2
78 :incorrecto1x2
79 color c0
80 echo.
81 echo INCORRECTO!!
82 echo.
83 echo Vuelve a intentarlo
84 pause
85 cls
86 goto inicio1x2
87 :correcto1x2
88 color 0a
89 echo.
90 echo MUY BIEN!!
91 :inicio1x3
92 color 0a
93 echo.
94 set/p producto= 1 x 3 =
95 cls
96 echo.
97 if %producto%==3 goto correcto1x3 else goto incorrecto1x3
98 :incorrecto1x3
99 color c0
100 echo.
101 echo INCORRECTO!!
102 echo.
103 echo Vuelve a intentarlo
104 pause
105 cls
106 goto inicio1x3
107 :correcto1x3
108 color 0a
109 echo.
110 echo MUY BIEN!!
111 :inicio1x4
112 color 0a
113 echo.
114 set/p producto= 1 x 4 =
115 cls
116 echo.
117 if %producto%==4 goto correcto1x4 else goto incorrecto1x4
118 :incorrecto1x4
119 color c0
120 echo.
121 echo INCORRECTO!!
122 echo.
123 echo Vuelve a intentarlo
124 pause
125 cls
126 goto inicio1x4
127 :correcto1x4
128 color 0a
129 echo.
130 echo MUY BIEN!!
131 :inicio1x5
132 color 0a
133 echo.
134 set/p producto= 1 x 5 =
135 cls
136 echo.

49 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

137 if %producto%==5 goto correcto1x5 else goto incorrecto1x5


138 :incorrecto1x5
139 color c0
140 echo.
141 echo INCORRECTO!!
142 echo.
143 echo Vuelve a intentarlo
144 pause
145 cls
146 goto inicio1x5
147 :correcto1x5
148 color 0a
149 echo.
150 echo MUY BIEN!!
151 :inicio1x6
152 color 0a
153 echo.
154 set/p producto= 1 x 6 =
155 cls
156 echo.
157 if %producto%==6 goto correcto1x6 else goto incorrecto1x6
158 :incorrecto1x6
159 color c0
160 echo.
161 echo INCORRECTO!!
162 echo.
163 echo Vuelve a intentarlo
164 pause
165 cls
166 goto inicio1x6
167 :correcto1x6
168 color 0a
169 echo.
170 echo MUY BIEN!!
171 :inicio1x7
172 color 0a
173 echo.
174 set/p producto= 1 x 7 =
175 cls
176 echo.
177 if %producto%==7 goto correcto1x7 else goto incorrecto1x7
178 :incorrecto1x7
179 color c0
180 echo.
181 echo INCORRECTO!!
182 echo.
183 echo Vuelve a intentarlo
184 pause
185 cls
186 goto inicio1x7
187 :correcto1x7
188 color 0a
189 echo.
190 echo MUY BIEN!!
191 :inicio1x8
192 color 0a
193 echo.
194 set/p producto= 1 x 8 =
195 cls
196 echo.
197 if %producto%==8 goto correcto1x8 else goto incorrecto1x8
198 :incorrecto1x8
199 color c0
200 echo.
201 echo INCORRECTO!!
202 echo.
203 echo Vuelve a intentarlo
204 pause
205 cls
206 goto inicio1x8
207 :correcto1x8
208 color 0a
209 echo.
210 echo MUY BIEN!!
211 :inicio1x9
212 color 0a
213 echo.
214 set/p producto= 1 x 9 =
215 cls
216 echo.
217 if %producto%==9 goto correcto1x9 else goto incorrecto1x9
218 :incorrecto1x9
219 color c0
220 echo.

50 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

221 echo INCORRECTO!!


222 echo.
223 echo Vuelve a intentarlo
224 pause
225 cls
226 goto inicio1x9
227 :correcto1x9
228 color 0a
229 echo.
230 echo MUY BIEN!!
231 :inicio1x10
232 color 0a
233 echo.
234 set/p producto= 1 x 10 =
235 cls
236 echo.
237 if %producto%==10 goto correcto1x10 else goto incorrecto1x10
238 :incorrecto1x10
239 color c0
240 echo.
241 echo INCORRECTO!!
242 echo.
243 echo Vuelve a intentarlo
244 pause
245 cls
246 goto inicio1x10
247 :correcto1x10
248 color 0a
249 echo.
250 echo  *********** COMPLETASTE LA TABLA DEL 1 ***********
251 echo.
252 echo              DIOS TE BENDIGA %nombre%......
253 echo.
254 echo.
255 set /p caso= Para continuar teclea (SI),para salir teclea cualquier letra:
256 if %caso% == si (goto :Menu) else (goto :salir)
257 :salir
258 exit
259
260 :iniciotabla2
261 echo.
262 echo  ********* HOLA %nombre% ESTA ES LA TABLA DEL 2 *********
263 echo.
264 echo.
265 :inicio2x0
266 color 0a
267 echo.
268 set/p producto= 2 x 0 =
269 cls
270 echo.
271 if %producto%==0 goto correcto2x0 else goto incorrecto2x0
272 :incorrecto2x0
273 color c0
274 echo.
275 echo INCORRECTO!!
276 echo.
277 echo Vuelve a intentarlo
278 pause
279 cls
280 goto inicio2x0
281 :correcto2x0
282 color 0a
283 echo.
284 echo MUY BIEN!!
285 :inicio2x1
286 color 0a
287 echo.
288 set/p producto= 2 x 1 =
289 cls
290 echo.
291 if %producto%==2 goto correcto2x1 else goto incorrecto2x1
292 :incorrecto2x1
293 color c0
294 echo.
295 echo INCORRECTO!!
296 echo.
297 echo Vuelve a intentarlo
298 pause
299 cls
300 goto inicio2x1
301 :correcto2x1
302 color 0a
303 echo.
304 echo MUY BIEN!!

51 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

305 :inicio2x2
306 color 0a
307 echo.
308 set/p producto= 2 x 2 =
309 cls
310 echo.
311 if %producto%==4 goto correcto2x2 else goto incorrecto2x2
312 :incorrecto2x2
313 color c0
314 echo.
315 echo INCORRECTO!!
316 echo.
317 echo Vuelve a intentarlo
318 pause
319 cls
320 goto inicio2x2
321 :correcto2x2
322 color 0a
323 echo.
324 echo MUY BIEN!!
325 :inicio2x3
326 color 0a
327 echo.
328 set/p producto= 2 x 3 =
329 cls
330 echo.
331 if %producto%==6 goto correcto2x3 else goto incorrecto2x3
332 :incorrecto2x3
333 color c0
334 echo.
335 echo INCORRECTO!!
336 echo.
337 echo Vuelve a intentarlo
338 pause
339 cls
340 goto inicio2x3
341 :correcto2x3
342 color 0a
343 echo.
344 echo MUY BIEN!!
345 :inicio2x4
346 color 0a
347 echo.
348 set/p producto= 2 x 4 =
349 cls
350 echo.
351 if %producto%==8 goto correcto2x4 else goto incorrecto2x4
352 :incorrecto2x4
353 color c0
354 echo.
355 echo INCORRECTO!!
356 echo.
357 echo Vuelve a intentarlo
358 pause
359 cls
360 goto inicio2x4
361 :correcto2x4
362 color 0a
363 echo.
364 echo MUY BIEN!!
365 :inicio2x5
366 color 0a
367 echo.
368 set/p producto= 2 x 5 =
369 cls
370 echo.
371 if %producto%==10 goto correcto2x5 else goto incorrecto2x5
372 :incorrecto2x5
373 color c0
374 echo.
375 echo INCORRECTO!!
376 echo.
377 echo Vuelve a intentarlo
378 pause
379 cls
380 goto inicio2x5
381 :correcto2x5
382 color 0a
383 echo.
384 echo MUY BIEN!!
385 :inicio2x6
386 color 0a
387 echo.
388 set/p producto= 2 x 6 =

52 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

389 cls
390 echo.
391 if %producto%==12 goto correcto2x6 else goto incorrecto2x6
392 :incorrecto2x6
393 color c0
394 echo.
395 echo INCORRECTO!!
396 echo.
397 echo Vuelve a intentarlo
398 pause
399 cls
400 goto inicio2x6
401 :correcto2x6
402 color 0a
403 echo.
404 echo MUY BIEN!!
405 :inicio2x7
406 color 0a
407 echo.
408 set/p producto= 2 x 7 =
409 cls
410 echo.
411 if %producto%==14 goto correcto2x7 else goto incorrecto2x7
412 :incorrecto2x7
413 color c0
414 echo.
415 echo INCORRECTO!!
416 echo.
417 echo Vuelve a intentarlo
418 pause
419 cls
420 goto inicio2x7
421 :correcto2x7
422 color 0a
423 echo.
424 echo MUY BIEN!!
425 :inicio2x8
426 color 0a
427 echo.
428 set/p producto= 2 x 8 =
429 cls
430 echo.
431 if %producto%==16 goto correcto2x8 else goto incorrecto2x8
432 :incorrecto2x8
433 color c0
434 echo.
435 echo INCORRECTO!!
436 echo.
437 echo Vuelve a intentarlo
438 pause
439 cls
440 goto inicio2x8
441 :correcto2x8
442 color 0a
443 echo.
444 echo MUY BIEN!!
445 :inicio2x9
446 color 0a
447 echo.
448 set/p producto= 2 x 9 =
449 cls
450 echo.
451 if %producto%==18 goto correcto2x9 else goto incorrecto2x9
452 :incorrecto2x9
453 color c0
454 echo.
455 echo INCORRECTO!!
456 echo.
457 echo Vuelve a intentarlo
458 pause
459 cls
460 goto inicio2x9
461 :correcto2x9
462 color 0a
463 echo.
464 echo MUY BIEN!!
465 :inicio2x10
466 color 0a
467 echo.
468 set/p producto= 2 x 10 =
469 cls
470 echo.
471 if %producto%==20 goto correcto2x10 else goto incorrecto2x10
472 :incorrecto2x10

53 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

473 color c0
474 echo.
475 echo INCORRECTO!!
476 echo.
477 echo Vuelve a intentarlo
478 pause
479 cls
480 goto inicio2x10
481 :correcto2x10
482 color 0a
483 echo.
484 echo  *********** COMPLETASTE LA TABLA DEL 2 ***********
485 echo.
486 echo              DIOS TE BENDIGA %nombre%......
487 echo.
488 echo.
489 set /p caso= Para continuar teclea (SI),para salir teclea cualquier letra:
490 if %caso% == si (goto :Menu) else (goto :salir)
491 :salir
492 exit
493
494 :iniciotabla3
495 echo.
496 echo  ********* HOLA %nombre% ESTA ES LA TABLA DEL 3 *********
497 echo.
498 echo.
499 :inicio3x0
500 color 0a
501 echo.
502 set/p producto= 3 x 0 =
503 cls
504 echo.
505 if %producto%==0 goto correcto3x0 else goto incorrecto3x0
506 :incorrecto3x0
507 color c0
508 echo.
509 echo INCORRECTO!!
510 echo.
511 echo Vuelve a intentarlo
512 pause
513 cls
514 goto inicio3x0
515 :correcto3x0
516 color 0a
517 echo.
518 echo MUY BIEN!!
519 :inicio3x1
520 color 0a
521 echo.
522 set/p producto= 3 x 1 =
523 cls
524 echo.
525 if %producto%==3 goto correcto3x1 else goto incorrecto3x1
526 :incorrecto3x1
527 color c0
528 echo.
529 echo INCORRECTO!!
530 echo.
531 echo Vuelve a intentarlo
532 pause
533 cls
534 goto inicio3x1
535 :correcto3x1
536 color 0a
537 echo.
538 echo MUY BIEN!!
539 :inicio3x2
540 color 0a
541 echo.
542 set/p producto= 3 x 2 =
543 cls
544 echo.
545 if %producto%==6 goto correcto3x2 else goto incorrecto3x2
546 :incorrecto3x2
547 color c0
548 echo.
549 echo INCORRECTO!!
550 echo.
551 echo Vuelve a intentarlo
552 pause
553 cls
554 goto inicio3x2
555 :correcto3x2
556 color 0a

54 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

557 echo.
558 echo MUY BIEN!!
559 :inicio3x3
560 color 0a
561 echo.
562 set/p producto= 3 x 3 =
563 cls
564 echo.
565 if %producto%==9 goto correcto3x3 else goto incorrecto3x3
566 :incorrecto3x3
567 color c0
568 echo.
569 echo INCORRECTO!!
570 echo.
571 echo Vuelve a intentarlo
572 pause
573 cls
574 goto inicio3x3
575 :correcto3x3
576 color 0a
577 echo.
578 echo MUY BIEN!!
579 :inicio3x4
580 color 0a
581 echo.
582 set/p producto= 3 x 4 =
583 cls
584 echo.
585 if %producto%==12 goto correcto3x4 else goto incorrecto3x4
586 :incorrecto3x4
587 color c0
588 echo.
589 echo INCORRECTO!!
590 echo.
591 echo Vuelve a intentarlo
592 pause
593 cls
594 goto inicio3x4
595 :correcto3x4
596 color 0a
597 echo.
598 echo MUY BIEN!!
599 :inicio3x5
600 color 0a
601 echo.
602 set/p producto= 3 x 5 =
603 cls
604 echo.
605 if %producto%==15 goto correcto3x5 else goto incorrecto3x5
606 :incorrecto3x5
607 color c0
608 echo.
609 echo INCORRECTO!!
610 echo.
611 echo Vuelve a intentarlo
612 pause
613 cls
614 goto inicio3x5
615 :correcto3x5
616 color 0a
617 echo.
618 echo MUY BIEN!!
619 :inicio3x6
620 color 0a
621 echo.
622 set/p producto= 3 x 6 =
623 cls
624 echo.
625 if %producto%==18 goto correcto3x6 else goto incorrecto3x6
626 :incorrecto3x6
627 color c0
628 echo.
629 echo INCORRECTO!!
630 echo.
631 echo Vuelve a intentarlo
632 pause
633 cls
634 goto inicio3x6
635 :correcto3x6
636 color 0a
637 echo.
638 echo MUY BIEN!!
639 :inicio3x7
640 color 0a

55 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

641 echo.
642 set/p producto= 3 x 7 =
643 cls
644 echo.
645 if %producto%==21 goto correcto3x7 else goto incorrecto3x7
646 :incorrecto3x7
647 color c0
648 echo.
649 echo INCORRECTO!!
650 echo.
651 echo Vuelve a intentarlo
652 pause
653 cls
654 goto inicio3x7
655 :correcto3x7
656 color 0a
657 echo.
658 echo MUY BIEN!!
659 :inicio3x8
660 color 0a
661 echo.
662 set/p producto= 3 x 8 =
663 cls
664 echo.
665 if %producto%==24 goto correcto3x8 else goto incorrecto3x8
666 :incorrecto3x8
667 color c0
668 echo.
669 echo INCORRECTO!!
670 echo.
671 echo Vuelve a intentarlo
672 pause
673 cls
674 goto inicio3x8
675 :correcto3x8
676 color 0a
677 echo.
678 echo MUY BIEN!!
679 :inicio3x9
680 color 0a
681 echo.
682 set/p producto= 3 x 9 =
683 cls
684 echo.
685 if %producto%==27 goto correcto3x9 else goto incorrecto3x9
686 :incorrecto3x9
687 color c0
688 echo.
689 echo INCORRECTO!!
690 echo.
691 echo Vuelve a intentarlo
692 pause
693 cls
694 goto inicio3x9
695 :correcto3x9
696 color 0a
697 echo.
698 echo MUY BIEN!!
699 :inicio3x10
700 color 0a
701 echo.
702 set/p producto= 3 x 10 =
703 cls
704 echo.
705 if %producto%==30 goto correcto3x10 else goto incorrecto3x10
706 :incorrecto3x10
707 color c0
708 echo.
709 echo INCORRECTO!!
710 echo.
711 echo Vuelve a intentarlo
712 pause
713 cls
714 goto inicio3x10
715 :correcto3x10
716 color 0a
717 echo.
718 echo  *********** COMPLETASTE LA TABLA DEL 3 ***********
719 echo.
720 echo              DIOS TE BENDIGA %nombre%......
721 echo.
722 echo.
723 set /p caso= Para continuar teclea (SI),para salir teclea cualquier letra:
724 if %caso% == si (goto :Menu) else (goto :salir)

56 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

725 :salir
726 exit
727
728 :iniciotabla4
729 echo.
730 echo  ********* HOLA %nombre% ESTA ES LA TABLA DEL 4 *********
731 echo.
732 echo.
733 :inicio4x0
734 color 0a
735 echo.
736 set/p producto= 4 x 0 =
737 cls
738 echo.
739 if %producto%==0 goto correcto4x0 else goto incorrecto4x0
740 :incorrecto4x0
741 color c0
742 echo.
743 echo INCORRECTO!!
744 echo.
745 echo Vuelve a intentarlo
746 pause
747 cls
748 goto inicio4x0
749 :correcto4x0
750 color 0a
751 echo.
752 echo MUY BIEN!!
753 :inicio4x1
754 color 0a
755 echo.
756 set/p producto= 4 x 1 =
757 cls
758 echo.
759 if %producto%==4 goto correcto4x1 else goto incorrecto4x1
760 :incorrecto4x1
761 color c0
762 echo.
763 echo INCORRECTO!!
764 echo.
765 echo Vuelve a intentarlo
766 pause
767 cls
768 goto inicio4x1
769 :correcto4x1
770 color 0a
771 echo.
772 echo MUY BIEN!!
773 :inicio4x2
774 color 0a
775 echo.
776 set/p producto= 4 x 2 =
777 cls
778 echo.
779 if %producto%==8 goto correcto4x2 else goto incorrecto4x2
780 :incorrecto4x2
781 color c0
782 echo.
783 echo INCORRECTO!!
784 echo.
785 echo Vuelve a intentarlo
786 pause
787 cls
788 goto inicio4x2
789 :correcto4x2
790 color 0a
791 echo.
792 echo MUY BIEN!!
793 :inicio4x3
794 color 0a
795 echo.
796 set/p producto= 4 x 3 =
797 cls
798 echo.
799 if %producto%==12 goto correcto4x3 else goto incorrecto4x3
800 :incorrecto4x3
801 color c0
802 echo.
803 echo INCORRECTO!!
804 echo.
805 echo Vuelve a intentarlo
806 pause
807 cls
808 goto inicio4x3

57 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

809 :correcto4x3
810 color 0a
811 echo.
812 echo MUY BIEN!!
813 :inicio4x4
814 color 0a
815 echo.
816 set/p producto= 4 x 4 =
817 cls
818 echo.
819 if %producto%==16 goto correcto4x4 else goto incorrecto4x4
820 :incorrecto4x4
821 color c0
822 echo.
823 echo INCORRECTO!!
824 echo.
825 echo Vuelve a intentarlo
826 pause
827 cls
828 goto inicio4x4
829 :correcto4x4
830 color 0a
831 echo.
832 echo MUY BIEN!!
833 :inicio4x5
834 color 0a
835 echo.
836 set/p producto= 4 x 5 =
837 cls
838 echo.
839 if %producto%==20 goto correcto4x5 else goto incorrecto4x5
840 :incorrecto4x5
841 color c0
842 echo.
843 echo INCORRECTO!!
844 echo.
845 echo Vuelve a intentarlo
846 pause
847 cls
848 goto inicio4x5
849 :correcto4x5
850 color 0a
851 echo.
852 echo MUY BIEN!!
853 :inicio4x6
854 color 0a
855 echo.
856 set/p producto= 4 x 6 =
857 cls
858 echo.
859 if %producto%==24 goto correcto4x6 else goto incorrecto4x6
860 :incorrecto4x6
861 color c0
862 echo.
863 echo INCORRECTO!!
864 echo.
865 echo Vuelve a intentarlo
866 pause
867 cls
868 goto inicio4x6
869 :correcto4x6
870 color 0a
871 echo.
872 echo MUY BIEN!!
873 :inicio4x7
874 color 0a
875 echo.
876 set/p producto= 4 x 7 =
877 cls
878 echo.
879 if %producto%==28 goto correcto4x7 else goto incorrecto4x7
880 :incorrecto4x7
881 color c0
882 echo.
883 echo INCORRECTO!!
884 echo.
885 echo Vuelve a intentarlo
886 pause
887 cls
888 goto inicio4x7
889 :correcto4x7
890 color 0a
891 echo.
892 echo MUY BIEN!!

58 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

893 :inicio4x8
894 color 0a
895 echo.
896 set/p producto= 4 x 8 =
897 cls
898 echo.
899 if %producto%==32 goto correcto4x8 else goto incorrecto4x8
900 :incorrecto4x8
901 color c0
902 echo.
903 echo INCORRECTO!!
904 echo.
905 echo Vuelve a intentarlo
906 pause
907 cls
908 goto inicio4x8
909 :correcto4x8
910 color 0a
911 echo.
912 echo MUY BIEN!!
913 :inicio4x9
914 color 0a
915 echo.
916 set/p producto= 4 x 9 =
917 cls
918 echo.
919 if %producto%==36 goto correcto4x9 else goto incorrecto4x9
920 :incorrecto4x9
921 color c0
922 echo.
923 echo INCORRECTO!!
924 echo.
925 echo Vuelve a intentarlo
926 pause
927 cls
928 goto inicio4x9
929 :correcto4x9
930 color 0a
931 echo.
932 echo MUY BIEN!!
933 :inicio4x10
934 color 0a
935 echo.
936 set/p producto= 4 x 10 =
937 cls
938 echo.
939 if %producto%==40 goto correcto4x10 else goto incorrecto4x10
940 :incorrecto4x10
941 color c0
942 echo.
943 echo INCORRECTO!!
944 echo.
945 echo Vuelve a intentarlo
946 pause
947 cls
948 goto inicio4x10
949 :correcto4x10
950 color 0a
951 echo.
952 echo  *********** COMPLETASTE LA TABLA DEL 4 ***********
953 echo.
954 echo              DIOS TE BENDIGA %nombre%......
955 echo.
956 echo.
957 set /p caso= Para continuar teclea (SI),para salir teclea cualquier letra:
958 if %caso% == si (goto :Menu) else (goto :salir)
959 :salir
960 exit
961
962 :iniciotabla5
963 echo.
964 echo  ********* HOLA %nombre% ESTA ES LA TABLA DEL 5 *********
965 echo.
966 echo.
967 :inicio5x0
968 color 0a
969 echo.
970 set/p producto= 5 x 0 =
971 cls
972 echo.
973 if %producto%==0 goto correcto5x0 else goto incorrecto5x0
974 :incorrecto5x0
975 color c0
976 echo.

59 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

977 echo INCORRECTO!!


978 echo.
979 echo Vuelve a intentarlo
980 pause
981 cls
982 goto inicio5x0
983 :correcto5x0
984 color 0a
985 echo.
986 echo MUY BIEN!!
987 :inicio5x1
988 color 0a
989 echo.
990 set/p producto= 5 x 1 =
991 cls
992 echo.
993 if %producto%==5 goto correcto5x1 else goto incorrecto5x1
994 :incorrecto5x1
995 color c0
996 echo.
997 echo INCORRECTO!!
998 echo.
999 echo Vuelve a intentarlo
1000 pause
1001 cls
1002 goto inicio5x1
1003 :correcto5x1
1004 color 0a
1005 echo.
1006 echo MUY BIEN!!
1007 :inicio5x2
1008 color 0a
1009 echo.
1010 set/p producto= 5 x 2 =
1011 cls
1012 echo.
1013 if %producto%==10 goto correcto5x2 else goto incorrecto5x2
1014 :incorrecto5x2
1015 color c0
1016 echo.
1017 echo INCORRECTO!!
1018 echo.
1019 echo Vuelve a intentarlo
1020 pause
1021 cls
1022 goto inicio5x2
1023 :correcto5x2
1024 color 0a
1025 echo.
1026 echo MUY BIEN!!
1027 :inicio5x3
1028 color 0a
1029 echo.
1030 set/p producto= 5 x 3 =
1031 cls
1032 echo.
1033 if %producto%==15 goto correcto5x3 else goto incorrecto5x3
1034 :incorrecto5x3
1035 color c0
1036 echo.
1037 echo INCORRECTO!!
1038 echo.
1039 echo Vuelve a intentarlo
1040 pause
1041 cls
1042 goto inicio5x3
1043 :correcto5x3
1044 color 0a
1045 echo.
1046 echo MUY BIEN!!
1047 :inicio5x4
1048 color 0a
1049 echo.
1050 set/p producto= 5 x 4 =
1051 cls
1052 echo.
1053 if %producto%==20 goto correcto5x4 else goto incorrecto5x4
1054 :incorrecto5x4
1055 color c0
1056 echo.
1057 echo INCORRECTO!!
1058 echo.
1059 echo Vuelve a intentarlo
1060 pause

60 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1061 cls
1062 goto inicio5x4
1063 :correcto5x4
1064 color 0a
1065 echo.
1066 echo MUY BIEN!!
1067 :inicio5x5
1068 color 0a
1069 echo.
1070 set/p producto= 5 x 5 =
1071 cls
1072 echo.
1073 if %producto%==25 goto correcto5x5 else goto incorrecto5x5
1074 :incorrecto5x5
1075 color c0
1076 echo.
1077 echo INCORRECTO!!
1078 echo.
1079 echo Vuelve a intentarlo
1080 pause
1081 cls
1082 goto inicio5x5
1083 :correcto5x5
1084 color 0a
1085 echo.
1086 echo MUY BIEN!!
1087 :inicio5x6
1088 color 0a
1089 echo.
1090 set/p producto= 5 x 6 =
1091 cls
1092 echo.
1093 if %producto%==30 goto correcto5x6 else goto incorrecto5x6
1094 :incorrecto5x6
1095 color c0
1096 echo.
1097 echo INCORRECTO!!
1098 echo.
1099 echo Vuelve a intentarlo
1100 pause
1101 cls
1102 goto inicio5x6
1103 :correcto5x6
1104 color 0a
1105 echo.
1106 echo MUY BIEN!!
1107 :inicio5x7
1108 color 0a
1109 echo.
1110 set/p producto= 5 x 7 =
1111 cls
1112 echo.
1113 if %producto%==35 goto correcto5x7 else goto incorrecto5x7
1114 :incorrecto5x7
1115 color c0
1116 echo.
1117 echo INCORRECTO!!
1118 echo.
1119 echo Vuelve a intentarlo
1120 pause
1121 cls
1122 goto inicio5x7
1123 :correcto5x7
1124 color 0a
1125 echo.
1126 echo MUY BIEN!!
1127 :inicio5x8
1128 color 0a
1129 echo.
1130 set/p producto= 5 x 8 =
1131 cls
1132 echo.
1133 if %producto%==40 goto correcto5x8 else goto incorrecto5x8
1134 :incorrecto5x8
1135 color c0
1136 echo.
1137 echo INCORRECTO!!
1138 echo.
1139 echo Vuelve a intentarlo
1140 pause
1141 cls
1142 goto inicio5x8
1143 :correcto5x8
1144 color 0a

61 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1145 echo.
1146 echo MUY BIEN!!
1147 :inicio5x9
1148 color 0a
1149 echo.
1150 set/p producto= 5 x 9 =
1151 cls
1152 echo.
1153 if %producto%==45 goto correcto5x9 else goto incorrecto5x9
1154 :incorrecto5x9
1155 color c0
1156 echo.
1157 echo INCORRECTO!!
1158 echo.
1159 echo Vuelve a intentarlo
1160 pause
1161 cls
1162 goto inicio5x9
1163 :correcto5x9
1164 color 0a
1165 echo.
1166 echo MUY BIEN!!
1167 :inicio5x10
1168 color 0a
1169 echo.
1170 set/p producto= 5 x 10 =
1171 cls
1172 echo.
1173 if %producto%==50 goto correcto5x10 else goto incorrecto5x10
1174 :incorrecto5x10
1175 color c0
1176 echo.
1177 echo INCORRECTO!!
1178 echo.
1179 echo Vuelve a intentarlo
1180 pause
1181 cls
1182 goto inicio5x10
1183 :correcto5x10
1184 color 0a
1185 echo.
1186 echo  *********** COMPLETASTE LA TABLA DEL 5 ***********
1187 echo.
1188 echo              DIOS TE BENDIGA %nombre%......
1189 echo.
1190 echo.
1191 set /p caso= Para continuar teclea (SI),para salir teclea cualquier letra:
1192 if %caso% == si (goto :Menu) else (goto :salir)
1193 :salir
1194 exit
1195
1196 :iniciotabla6
1197 echo.
1198 echo  ********* HOLA %nombre% ESTA ES LA TABLA DEL 6 *********
1199 echo.
1200 echo.
1201 :inicio6x0
1202 color 0a
1203 echo.
1204 set/p producto= 6 x 0 =
1205 cls
1206 echo.
1207 if %producto%==0 goto correcto6x0 else goto incorrecto6x0
1208 :incorrecto6x0
1209 color c0
1210 echo.
1211 echo INCORRECTO!!
1212 echo.
1213 echo Vuelve a intentarlo
1214 pause
1215 cls
1216 goto inicio6x0
1217 :correcto6x0
1218 color 0a
1219 echo.
1220 echo MUY BIEN!!
1221 :inicio6x1
1222 color 0a
1223 echo.
1224 set/p producto= 6 x 1 =
1225 cls
1226 echo.
1227 if %producto%==6 goto correcto6x1 else goto incorrecto6x1
1228 :incorrecto6x1

62 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1229 color c0
1230 echo.
1231 echo INCORRECTO!!
1232 echo.
1233 echo Vuelve a intentarlo
1234 pause
1235 cls
1236 goto inicio6x1
1237 :correcto6x1
1238 color 0a
1239 echo.
1240 echo MUY BIEN!!
1241 :inicio6x2
1242 color 0a
1243 echo.
1244 set/p producto= 6 x 2 =
1245 cls
1246 echo.
1247 if %producto%==12 goto correcto6x2 else goto incorrecto6x2
1248 :incorrecto6x2
1249 color c0
1250 echo.
1251 echo INCORRECTO!!
1252 echo.
1253 echo Vuelve a intentarlo
1254 pause
1255 cls
1256 goto inicio6x2
1257 :correcto6x2
1258 color 0a
1259 echo.
1260 echo MUY BIEN!!
1261 :inicio6x3
1262 color 0a
1263 echo.
1264 set/p producto= 6 x 3 =
1265 cls
1266 echo.
1267 if %producto%==18 goto correcto6x3 else goto incorrecto6x3
1268 :incorrecto6x3
1269 color c0
1270 echo.
1271 echo INCORRECTO!!
1272 echo.
1273 echo Vuelve a intentarlo
1274 pause
1275 cls
1276 goto inicio6x3
1277 :correcto6x3
1278 color 0a
1279 echo.
1280 echo MUY BIEN!!
1281 :inicio6x4
1282 color 0a
1283 echo.
1284 set/p producto= 6 x 4 =
1285 cls
1286 echo.
1287 if %producto%==24 goto correcto6x4 else goto incorrecto6x4
1288 :incorrecto6x4
1289 color c0
1290 echo.
1291 echo INCORRECTO!!
1292 echo.
1293 echo Vuelve a intentarlo
1294 pause
1295 cls
1296 goto inicio6x4
1297 :correcto6x4
1298 color 0a
1299 echo.
1300 echo MUY BIEN!!
1301 :inicio6x5
1302 color 0a
1303 echo.
1304 set/p producto= 6 x 5 =
1305 cls
1306 echo.
1307 if %producto%==30 goto correcto6x5 else goto incorrecto6x5
1308 :incorrecto6x6
1309 color c0
1310 echo.
1311 echo INCORRECTO!!
1312 echo.

63 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1313 echo Vuelve a intentarlo


1314 pause
1315 cls
1316 goto inicio6x5
1317 :correcto6x5
1318 color 0a
1319 echo.
1320 echo MUY BIEN!!
1321 :inicio6x6
1322 color 0a
1323 echo.
1324 set/p producto= 6 x 6 =
1325 cls
1326 echo.
1327 if %producto%==36 goto correcto6x6 else goto incorrecto6x6
1328 :incorrecto6x6
1329 color c0
1330 echo.
1331 echo INCORRECTO!!
1332 echo.
1333 echo Vuelve a intentarlo
1334 pause
1335 cls
1336 goto inicio6x6
1337 :correcto6x6
1338 color 0a
1339 echo.
1340 echo MUY BIEN!!
1341 :inicio6x7
1342 color 0a
1343 echo.
1344 set/p producto= 6 x 7 =
1345 cls
1346 echo.
1347 if %producto%==42 goto correcto6x7 else goto incorrecto6x7
1348 :incorrecto6x7
1349 color c0
1350 echo.
1351 echo INCORRECTO!!
1352 echo.
1353 echo Vuelve a intentarlo
1354 pause
1355 cls
1356 goto inicio6x7
1357 :correcto6x7
1358 color 0a
1359 echo.
1360 echo MUY BIEN!!
1361 :inicio6x8
1362 color 0a
1363 echo.
1364 set/p producto= 6 x 8 =
1365 cls
1366 echo.
1367 if %producto%==48 goto correcto6x8 else goto incorrecto6x8
1368 :incorrecto6x8
1369 color c0
1370 echo.
1371 echo INCORRECTO!!
1372 echo.
1373 echo Vuelve a intentarlo
1374 pause
1375 cls
1376 goto inicio6x8
1377 :correcto6x8
1378 color 0a
1379 echo.
1380 echo MUY BIEN!!
1381 :inicio6x9
1382 color 0a
1383 echo.
1384 set/p producto= 6 x 9 =
1385 cls
1386 echo.
1387 if %producto%==54 goto correcto6x9 else goto incorrecto6x9
1388 :incorrecto6x9
1389 color c0
1390 echo.
1391 echo INCORRECTO!!
1392 echo.
1393 echo Vuelve a intentarlo
1394 pause
1395 cls
1396 goto inicio6x9

64 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1397 :correcto6x9
1398 color 0a
1399 echo.
1400 echo MUY BIEN!!
1401 :inicio6x10
1402 color 0a
1403 echo.
1404 set/p producto= 6 x 10 =
1405 cls
1406 echo.
1407 if %producto%==60 goto correcto6x10 else goto incorrecto6x10
1408 :incorrecto6x10
1409 color c0
1410 echo.
1411 echo INCORRECTO!!
1412 echo.
1413 echo Vuelve a intentarlo
1414 pause
1415 cls
1416 goto inicio6x10
1417 :correcto6x10
1418 color 0a
1419 echo.
1420 echo  *********** COMPLETASTE LA TABLA DEL 6 ***********
1421 echo.
1422 echo              DIOS TE BENDIGA %nombre%......
1423 echo.
1424 echo.
1425 set /p caso= Para continuar teclea (SI),para salir teclea cualquier letra:
1426 if %caso% == si (goto :Menu) else (goto :salir)
1427 :salir
1428 exit
1429
1430 :iniciotabla7
1431 echo.
1432 echo  ********* HOLA %nombre% ESTA ES LA TABLA DEL 7 *********
1433 echo.
1434 echo.
1435 :inicio7x0
1436 color 0a
1437 echo.
1438 set/p producto= 7 x 0 =
1439 cls
1440 echo.
1441 if %producto%==0 goto correcto7x0 else goto incorrecto7x0
1442 :incorrecto7x0
1443 color c0
1444 echo.
1445 echo INCORRECTO!!
1446 echo.
1447 echo Vuelve a intentarlo
1448 pause
1449 cls
1450 goto inicio7x0
1451 :correcto7x0
1452 color 0a
1453 echo.
1454 echo MUY BIEN!!
1455 :inicio7x1
1456 color 0a
1457 echo.
1458 set/p producto= 7 x 1 =
1459 cls
1460 echo.
1461 if %producto%==7 goto correcto7x1 else goto incorrecto7x1
1462 :incorrecto7x1
1463 color c0
1464 echo.
1465 echo INCORRECTO!!
1466 echo.
1467 echo Vuelve a intentarlo
1468 pause
1469 cls
1470 goto inicio7x1
1471 :correcto7x1
1472 color 0a
1473 echo.
1474 echo MUY BIEN!!
1475 :inicio7x2
1476 color 0a
1477 echo.
1478 set/p producto= 7 x 2 =
1479 cls
1480 echo.

65 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1481 if %producto%==14 goto correcto7x2 else goto incorrecto7x2


1482 :incorrecto7x2
1483 color c0
1484 echo.
1485 echo INCORRECTO!!
1486 echo.
1487 echo Vuelve a intentarlo
1488 pause
1489 cls
1490 goto inicio7x2
1491 :correcto7x2
1492 color 0a
1493 echo.
1494 echo MUY BIEN!!
1495 :inicio7x3
1496 color 0a
1497 echo.
1498 set/p producto= 7 x 3 =
1499 cls
1500 echo.
1501 if %producto%==21 goto correcto7x3 else goto incorrecto7x3
1502 :incorrecto7x3
1503 color c0
1504 echo.
1505 echo INCORRECTO!!
1506 echo.
1507 echo Vuelve a intentarlo
1508 pause
1509 cls
1510 goto inicio7x3
1511 :correcto7x3
1512 color 0a
1513 echo.
1514 echo MUY BIEN!!
1515 :inicio7x4
1516 color 0a
1517 echo.
1518 set/p producto= 7 x 4 =
1519 cls
1520 echo.
1521 if %producto%==28 goto correcto7x4 else goto incorrecto7x4
1522 :incorrecto7x4
1523 color c0
1524 echo.
1525 echo INCORRECTO!!
1526 echo.
1527 echo Vuelve a intentarlo
1528 pause
1529 cls
1530 goto inicio7x4
1531 :correcto7x4
1532 color 0a
1533 echo.
1534 echo MUY BIEN!!
1535 :inicio7x5
1536 color 0a
1537 echo.
1538 set/p producto= 7 x 5 =
1539 cls
1540 echo.
1541 if %producto%==35 goto correcto7x5 else goto incorrecto7x5
1542 :incorrecto7x5
1543 color c0
1544 echo.
1545 echo INCORRECTO!!
1546 echo.
1547 echo Vuelve a intentarlo
1548 pause
1549 cls
1550 goto inicio7x5
1551 :correcto7x5
1552 color 0a
1553 echo.
1554 echo MUY BIEN!!
1555 :inicio7x6
1556 color 0a
1557 echo.
1558 set/p producto= 7 x 6 =
1559 cls
1560 echo.
1561 if %producto%==42 goto correcto7x6 else goto incorrecto7x6
1562 :incorrecto7x6
1563 color c0
1564 echo.

66 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1565 echo INCORRECTO!!


1566 echo.
1567 echo Vuelve a intentarlo
1568 pause
1569 cls
1570 goto inicio7x6
1571 :correcto7x6
1572 color 0a
1573 echo.
1574 echo MUY BIEN!!
1575 :inicio7x7
1576 color 0a
1577 echo.
1578 set/p producto= 7 x 7 =
1579 cls
1580 echo.
1581 if %producto%==49 goto correcto7x7 else goto incorrecto7x7
1582 :incorrecto7x7
1583 color c0
1584 echo.
1585 echo INCORRECTO!!
1586 echo.
1587 echo Vuelve a intentarlo
1588 pause
1589 cls
1590 goto inicio7x7
1591 :correcto7x7
1592 color 0a
1593 echo.
1594 echo MUY BIEN!!
1595 :inicio7x8
1596 color 0a
1597 echo.
1598 set/p producto= 7 x 8 =
1599 cls
1600 echo.
1601 if %producto%==56 goto correcto7x8 else goto incorrecto7x8
1602 :incorrecto7x8
1603 color c0
1604 echo.
1605 echo INCORRECTO!!
1606 echo.
1607 echo Vuelve a intentarlo
1608 pause
1609 cls
1610 goto inicio7x8
1611 :correcto7x8
1612 color 0a
1613 echo.
1614 echo MUY BIEN!!
1615 :inicio7x9
1616 color 0a
1617 echo.
1618 set/p producto= 7 x 9 =
1619 cls
1620 echo.
1621 if %producto%==63 goto correcto7x9 else goto incorrecto7x9
1622 :incorrecto7x9
1623 color c0
1624 echo.
1625 echo INCORRECTO!!
1626 echo.
1627 echo Vuelve a intentarlo
1628 pause
1629 cls
1630 goto inicio7x9
1631 :correcto7x9
1632 color 0a
1633 echo.
1634 echo MUY BIEN!!
1635 :inicio7x10
1636 color 0a
1637 echo.
1638 set/p producto= 7 x 10 =
1639 cls
1640 echo.
1641 if %producto%==70 goto correcto7x10 else goto incorrecto7x10
1642 :incorrecto7x10
1643 color c0
1644 echo.
1645 echo INCORRECTO!!
1646 echo.
1647 echo Vuelve a intentarlo
1648 pause

67 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1649 cls
1650 goto inicio7x10
1651 :correcto7x10
1652 color 0a
1653 echo.
1654 echo  *********** COMPLETASTE LA TABLA DEL 7 ***********
1655 echo.
1656 echo              DIOS TE BENDIGA %nombre%......
1657 echo.
1658 echo.
1659 set /p caso= Para continuar teclea (SI),para salir teclea cualquier letra:
1660 if %caso% == si (goto :Menu) else (goto :salir)
1661 :salir
1662 exit
1663
1664 :iniciotabla8
1665 echo.
1666 echo  ********* HOLA %nombre% ESTA ES LA TABLA DEL 8 *********
1667 echo.
1668 echo.
1669 :inicio8x0
1670 color 0a
1671 echo.
1672 set/p producto= 8 x 0 =
1673 cls
1674 echo.
1675 if %producto%==0 goto correcto8x0 else goto incorrecto8x0
1676 :incorrecto8x0
1677 color c0
1678 echo.
1679 echo INCORRECTO!!
1680 echo.
1681 echo Vuelve a intentarlo
1682 pause
1683 cls
1684 goto inicio8x0
1685 :correcto8x0
1686 color 0a
1687 echo.
1688 echo MUY BIEN!!
1689 :inicio8x1
1690 color 0a
1691 echo.
1692 set/p producto= 8 x 1 =
1693 cls
1694 echo.
1695 if %producto%==8 goto correcto8x1 else goto incorrecto8x1
1696 :incorrecto8x1
1697 color c0
1698 echo.
1699 echo INCORRECTO!!
1700 echo.
1701 echo Vuelve a intentarlo
1702 pause
1703 cls
1704 goto inicio8x1
1705 :correcto8x1
1706 color 0a
1707 echo.
1708 echo MUY BIEN!!
1709 :inicio8x2
1710 color 0a
1711 echo.
1712 set/p producto= 8 x 2 =
1713 cls
1714 echo.
1715 if %producto%==16 goto correcto8x2 else goto incorrecto8x2
1716 :incorrecto8x2
1717 color c0
1718 echo.
1719 echo INCORRECTO!!
1720 echo.
1721 echo Vuelve a intentarlo
1722 pause
1723 cls
1724 goto inicio8x2
1725 :correcto8x2
1726 color 0a
1727 echo.
1728 echo MUY BIEN!!
1729 :inicio8x3
1730 color 0a
1731 echo.
1732 set/p producto= 8 x 3 =

68 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1733 cls
1734 echo.
1735 if %producto%==24 goto correcto8x3 else goto incorrecto8x3
1736 :incorrecto8x3
1737 color c0
1738 echo.
1739 echo INCORRECTO!!
1740 echo.
1741 echo Vuelve a intentarlo
1742 pause
1743 cls
1744 goto inicio8x3
1745 :correcto8x3
1746 color 0a
1747 echo.
1748 echo MUY BIEN!!
1749 :inicio8x4
1750 color 0a
1751 echo.
1752 set/p producto= 8 x 4 =
1753 cls
1754 echo.
1755 if %producto%==32 goto correcto8x4 else goto incorrecto8x4
1756 :incorrecto8x4
1757 color c0
1758 echo.
1759 echo INCORRECTO!!
1760 echo.
1761 echo Vuelve a intentarlo
1762 pause
1763 cls
1764 goto inicio8x4
1765 :correcto8x4
1766 color 0a
1767 echo.
1768 echo MUY BIEN!!
1769 :inicio8x5
1770 color 0a
1771 echo.
1772 set/p producto= 8 x 5 =
1773 cls
1774 echo.
1775 if %producto%==40 goto correcto8x5 else goto incorrecto8x5
1776 :incorrecto8x5
1777 color c0
1778 echo.
1779 echo INCORRECTO!!
1780 echo.
1781 echo Vuelve a intentarlo
1782 pause
1783 cls
1784 goto inicio8x5
1785 :correcto8x5
1786 color 0a
1787 echo.
1788 echo MUY BIEN!!
1789 :inicio8x6
1790 color 0a
1791 echo.
1792 set/p producto= 8 x 6 =
1793 cls
1794 echo.
1795 if %producto%==48 goto correcto8x6 else goto incorrecto8x6
1796 :incorrecto8x6
1797 color c0
1798 echo.
1799 echo INCORRECTO!!
1800 echo.
1801 echo Vuelve a intentarlo
1802 pause
1803 cls
1804 goto inicio8x6
1805 :correcto8x6
1806 color 0a
1807 echo.
1808 echo MUY BIEN!!
1809 :inicio8x7
1810 color 0a
1811 echo.
1812 set/p producto= 8 x 7 =
1813 cls
1814 echo.
1815 if %producto%==56 goto correcto8x7 else goto incorrecto8x7
1816 :incorrecto8x7

69 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1817 color c0
1818 echo.
1819 echo INCORRECTO!!
1820 echo.
1821 echo Vuelve a intentarlo
1822 pause
1823 cls
1824 goto inicio8x7
1825 :correcto8x7
1826 color 0a
1827 echo.
1828 echo MUY BIEN!!
1829 :inicio8x8
1830 color 0a
1831 echo.
1832 set/p producto= 8 x 8 =
1833 cls
1834 echo.
1835 if %producto%==64 goto correcto8x8 else goto incorrecto8x8
1836 :incorrecto8x8
1837 color c0
1838 echo.
1839 echo INCORRECTO!!
1840 echo.
1841 echo Vuelve a intentarlo
1842 pause
1843 cls
1844 goto inicio8x8
1845 :correcto8x8
1846 color 0a
1847 echo.
1848 echo MUY BIEN!!
1849 :inicio8x9
1850 color 0a
1851 echo.
1852 set/p producto= 8 x 9 =
1853 cls
1854 echo.
1855 if %producto%==72 goto correcto8x9 else goto incorrecto8x9
1856 :incorrecto8x9
1857 color c0
1858 echo.
1859 echo INCORRECTO!!
1860 echo.
1861 echo Vuelve a intentarlo
1862 pause
1863 cls
1864 goto inicio8x9
1865 :correcto8x9
1866 color 0a
1867 echo.
1868 echo MUY BIEN!!
1869 :inicio8x10
1870 color 0a
1871 echo.
1872 set/p producto= 8 x 10 =
1873 cls
1874 echo.
1875 if %producto%==80 goto correcto8x10 else goto incorrecto8x10
1876 :incorrecto8x10
1877 color c0
1878 echo.
1879 echo INCORRECTO!!
1880 echo.
1881 echo Vuelve a intentarlo
1882 pause
1883 cls
1884 goto inicio8x10
1885 :correcto8x10
1886 color 0a
1887 echo.
1888 echo  *********** COMPLETASTE LA TABLA DEL 8 ***********
1889 echo.
1890 echo              DIOS TE BENDIGA %nombre%......
1891 echo.
1892 echo.
1893 set /p caso= Para continuar teclea (SI),para salir teclea cualquier letra:
1894 if %caso% == si (goto :Menu) else (goto :salir)
1895 :salir
1896 exit
1897
1898 :iniciotabla9
1899 echo.
1900 echo  ********* HOLA %nombre% ESTA ES LA TABLA DEL 9 *********

70 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1901 echo.
1902 echo.
1903 :inicio9x0
1904 color 0a
1905 echo.
1906 set/p producto= 9 x 0 =
1907 cls
1908 echo.
1909 if %producto%==0 goto correcto9x0 else goto incorrecto9x0
1910 :incorrecto9x0
1911 color c0
1912 echo.
1913 echo INCORRECTO!!
1914 echo.
1915 echo Vuelve a intentarlo
1916 pause
1917 cls
1918 goto inicio9x0
1919 :correcto9x0
1920 color 0a
1921 echo.
1922 echo MUY BIEN!!
1923 :inicio9x1
1924 color 0a
1925 echo.
1926 set/p producto= 9 x 1 =
1927 cls
1928 echo.
1929 if %producto%==9 goto correcto9x1 else goto incorrecto9x1
1930 :incorrecto9x1
1931 color c0
1932 echo.
1933 echo INCORRECTO!!
1934 echo.
1935 echo Vuelve a intentarlo
1936 pause
1937 cls
1938 goto inicio9x1
1939 :correcto9x1
1940 color 0a
1941 echo.
1942 echo MUY BIEN!!
1943 :inicio9x2
1944 color 0a
1945 echo.
1946 set/p producto= 9 x 2 =
1947 cls
1948 echo.
1949 if %producto%==18 goto correcto9x2 else goto incorrecto9x2
1950 :incorrecto9x2
1951 color c0
1952 echo.
1953 echo INCORRECTO!!
1954 echo.
1955 echo Vuelve a intentarlo
1956 pause
1957 cls
1958 goto inicio9x2
1959 :correcto9x2
1960 color 0a
1961 echo.
1962 echo MUY BIEN!!
1963 :inicio9x3
1964 color 0a
1965 echo.
1966 set/p producto= 9 x 3 =
1967 cls
1968 echo.
1969 if %producto%==27 goto correcto9x3 else goto incorrecto9x3
1970 :incorrecto9x3
1971 color c0
1972 echo.
1973 echo INCORRECTO!!
1974 echo.
1975 echo Vuelve a intentarlo
1976 pause
1977 cls
1978 goto inicio9x3
1979 :correcto9x3
1980 color 0a
1981 echo.
1982 echo MUY BIEN!!
1983 :inicio9x4
1984 color 0a

71 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

1985 echo.
1986 set/p producto= 9 x 4 =
1987 cls
1988 echo.
1989 if %producto%==36 goto correcto9x4 else goto incorrecto9x4
1990 :incorrecto9x4
1991 color c0
1992 echo.
1993 echo INCORRECTO!!
1994 echo.
1995 echo Vuelve a intentarlo
1996 pause
1997 cls
1998 goto inicio9x4
1999 :correcto9x4
2000 color 0a
2001 echo.
2002 echo MUY BIEN!!
2003 :inicio9x5
2004 color 0a
2005 echo.
2006 set/p producto= 9 x 5 =
2007 cls
2008 echo.
2009 if %producto%==45 goto correcto9x5 else goto incorrecto9x5
2010 :incorrecto9x5
2011 color c0
2012 echo.
2013 echo INCORRECTO!!
2014 echo.
2015 echo Vuelve a intentarlo
2016 pause
2017 cls
2018 goto inicio9x5
2019 :correcto9x5
2020 color 0a
2021 echo.
2022 echo MUY BIEN!!
2023 :inicio9x6
2024 color 0a
2025 echo.
2026 set/p producto= 9 x 6 =
2027 cls
2028 echo.
2029 if %producto%==54 goto correcto9x6 else goto incorrecto9x6
2030 :incorrecto9x6
2031 color c0
2032 echo.
2033 echo INCORRECTO!!
2034 echo.
2035 echo Vuelve a intentarlo
2036 pause
2037 cls
2038 goto inicio9x6
2039 :correcto9x6
2040 color 0a
2041 echo.
2042 echo MUY BIEN!!
2043 :inicio9x7
2044 color 0a
2045 echo.
2046 set/p producto= 9 x 7 =
2047 cls
2048 echo.
2049 if %producto%==63 goto correcto9x7 else goto incorrecto9x7
2050 :incorrecto9x7
2051 color c0
2052 echo.
2053 echo INCORRECTO!!
2054 echo.
2055 echo Vuelve a intentarlo
2056 pause
2057 cls
2058 goto inicio9x7
2059 :correcto9x7
2060 color 0a
2061 echo.
2062 echo MUY BIEN!!
2063 :inicio9x8
2064 color 0a
2065 echo.
2066 set/p producto= 9 x 8 =
2067 cls
2068 echo.

72 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

2069 if %producto%==72 goto correcto9x8 else goto incorrecto9x8


2070 :incorrecto9x8
2071 color c0
2072 echo.
2073 echo INCORRECTO!!
2074 echo.
2075 echo Vuelve a intentarlo
2076 pause
2077 cls
2078 goto inicio9x8
2079 :correcto9x8
2080 color 0a
2081 echo.
2082 echo MUY BIEN!!
2083 :inicio9x9
2084 color 0a
2085 echo.
2086 set/p producto= 9 x 9 =
2087 cls
2088 echo.
2089 if %producto%==81 goto correcto9x9 else goto incorrecto9x9
2090 :incorrecto9x9
2091 color c0
2092 echo.
2093 echo INCORRECTO!!
2094 echo.
2095 echo Vuelve a intentarlo
2096 pause
2097 cls
2098 goto inicio9x9
2099 :correcto9x9
2100 color 0a
2101 echo.
2102 echo MUY BIEN!!

Responder

4m1g0 dice:
24 agosto, 2017 a las 14:26

Hola jzaldivarleyva,

Gracias por tomarte el tiempo de publicar tu trabajo aquí, es una muy buena
iniciativa y además tiene funcionalidad real tu programa. Enhorabuena.

En el siguiente comentario intentaré darte algunos trucos para hacerlo más


corto.

¡Saludos!

Responder

56. jzaldivarleyva dice:


23 agosto, 2017 a las 20:21

y si se puede hacer con algun bucle por favor haganmelo saber para no repetir
tanto codigo gracias.

Responder

57. jzaldivarleyva dice:


24 agosto, 2017 a las 5:19

hermanos tengo problemas con las rutas para direccionar archivos en batch, pues
saben q como son muy largas el cmd se pierde y te dice archivo no encontrado…
ejemplo D:\CONOCIMIENTO\CURSOS\INFORMATICA 2017 (VOL1)\archivo.txt
como trato los nombres largos espacios etc para q cmd no se pierda.Que hago ???

Bendicioness

Responder

4m1g0 dice:
24 agosto, 2017 a las 14:24

Hola,

73 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

En principio no deberia haber problema por que sean muy largos (hay
excepciones, por ejemplo en windows xp hay un fallo del sistema referente a
eso…).

Quizás el problema que tienes es por los espacios. Al haber un espacio en la


ruta, batch interpreta que son dos comandos diferentes en lugar de uno.

Para solucionar eso debes poner las rutas que tengan espacio entre comillas
dobles.

Ejemplo:

1 cd "C:\mi ruta con\espacios"

Responder

58. jzaldivarleyva dice:


26 agosto, 2017 a las 21:45

Gracias hermano voy a poner en practica eso, por otra parte cuando le echamos
mano paralelamente al lenguaje bash para el kali d linux ubuntu ect. responde
cuando puedas.
dios t bendiga

Responder

jzaldivarleyva dice:
26 agosto, 2017 a las 22:13

eso si, que continues con el proximo tuto de batch. tambien lo estamos
esperando…..

Responder

59. jzaldivarleyva dice:


26 agosto, 2017 a las 21:47

ahh se me olvidaba uso windows 10 profesional, hasta ahora todo bien.

Responder

60. 88888888 dice:


1 septiembre, 2017 a las 16:44

como puedo descargar un programa desde la consola?

Responder

4m1g0 dice:
3 septiembre, 2017 a las 23:56

Hola, 88888888.

En Linux (otro sistema operativo) es muy fácil instalar un programa


directamente desde la consola, pero en windows no hay esta posibilidad.

Lo que puedes hacer es descargar manualmente un programa llamado wget y


luego usarlo para decargar otros programas. El problema es que la mayor
parte de aplicaciones en windows estan pensadas para instalarse de forma
gráfica, así que tendrás igualmente que darle a siguiente, siguiente…

Enlace de descarga Wget: http://gnuwin32.sourceforge.net/packages


/wget.htm

Responder

61. jzaldivarleyva dice:


6 septiembre, 2017 a las 4:46

Todo resuelto ya funciona gracias no hay problema eran los espacios claro, ya la
sinstaxis

74 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

con las comillas lo solucionaron, gracias 4m1g0. Bendiciones

Responder

62. jzaldivarleyva dice:


6 septiembre, 2017 a las 4:51

Hermano recuerda seguir con el tutorial mas avanzado de bacth.

Responder

63. jzaldivarleyva dice:


12 septiembre, 2017 a las 21:39

Hermano ayudame en mi aplicacion TABLAS, tengo un problema:


cuando el usuario no entra el resultado de un producto y lo q teclea es un espacio
o simplemente teclea ENTER se me cierra la aplicacion es como si cracheara.En
fin es un tratamiento contra errores lo q quiero hacer, revisa cuando puedasel
codigo funete y ayudame.bendiciones

Responder

4m1g0 dice:
13 septiembre, 2017 a las 13:53

Hola jzaldivarleyva,

Es una pregunta muy interesante. Si te fijas si insertas una letra por ejemplo
no falla, únicamente ocurre con el espacio. Esto se debe a la forma en que
batch sustituye las variables en el programa y ejecuta el código.

Fíjate por un momento en esta comparación:


if %producto%==0 goto correcto1x0 else goto incorrecto1x0

Si sustituimos %producto por un espacio nos queda lo siguiente:


if ==0 goto correcto1x0 else goto incorrecto1x0

Esto obviamente da un error, por que falta uno de los operandos. Para
solucionar esto hay diferentes técnicas, pero muchas veces lo que se suele
hacer es añadir una “x” a la comparación:
if x%producto%==x0 goto correcto1x0 else goto incorrecto1x0

Ahora si sustituimos %producto% por un espacio obtenemos lo siguiente:


if x==x0 goto correcto1x0 else goto incorrecto1x0

Lo cual está bien sintácticamente. Si por el contrario ponemos el resultado


correcto (un 0) obtendríamos lo siguiente:
if x0==x0 goto correcto1x0 else goto incorrecto1x0

Y nuevamente es correcto sintácticamente.

Espero que te haya ayudado

Saludos

Responder

64. Jeni dice:


15 septiembre, 2017 a las 4:31

hola…soy nueva y recien estoy llevando bat…pliss me podrias explicar como


puedo hacer parahacer una calculadora completa ya se lo principal pero el
problema es como hago el logaritmo….y ME ENCANTA TU BLOG XD

Responder

4m1g0 dice:
19 septiembre, 2017 a las 18:57

Hola Jeni,

No hay forma de hacer logaritmos con batch, lo que puedes hacer es

75 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

programarlo tu misma, o llamar a un programa externo que haga el cálculo y


devuelva el resultado.

Para calcular el logaritmo tu misma, hay diversas técnicas pero todas ellas
implican conceptos matemáticos relativamente complejos. Si quieres puedes
bucar información sobre series de Taylor (https://es.wikipedia.org
/wiki/Serie_de_Taylor) pero como introducción a batch recomiendo que no te
metas en eso.

Saludos

Responder

65. dali dice:


19 septiembre, 2017 a las 18:37

buenas consulta
tengo que guardar en una agenda ciertos datos pero no puedo hacer que verifique
el numero de telefono o sea que no me guarde un una persona que ya esta
registrado en la agenda que me salga error o vuelva a empezar ya me doy x
vencida
y la otra es que no entendi bien como modificar y que sea el nombre apellido y
telefono de la misma persona

Responder

4m1g0 dice:
19 septiembre, 2017 a las 19:00

Hola Dali,

Más ariba, el usuario Rubens preguntó algo similar. https://todohacker.com


/tutoriales/lenguaje-batch#comment-5207

Lee sus comentarios a ver si te sirve de ayuda. Si no, por favor concreta un
poco más el problema y cuéntanos que tienes hecho ya para ver como
podemos ayudarte.

Saludos

Responder

66. dali dice:


20 septiembre, 2017 a las 20:30

buenas
lo que tengo hecho es lo siguiente

:alta
cls
set /p nombre=Nombre:
set /p apellido=Apellido:
set /p c.i=C.I.:

if %c.i% equ 9.999.999-9 (goto error2) else (goto conti1)

:conti1
echo Nombre: %nombre% Apellido: %apellido% C.I.: %c.i% >>
%userprofile%\ITS.txt

cls
echo Esta Seguro que Desea darlo de alta
type %userprofile%\ITS\Alumnos.txt | find /i “%c.i%”
echo Si (S) o No (N)
set /p res1=

lo que tengo que hacer es antes de guardar es que revise si la c.i ya esta guardada
y que no la guarde o me de un aviso.

lo otro que tengo que hacer, que eso no lo hice xq no tengo idea como es, es

76 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

modificar la información o los datos que tengo guardado pero la condición es la


siguiente:
yo busco la c.i y me aparece nombre apellido y c.i que están guardados, en base a
eso preguntar que quiero modificar y después que lo guarde
ahora yo vi lo que escribió y subió el compañero pero no entiendo el comando en
si si me puedes explicar

Responder

4m1g0 dice:
21 septiembre, 2017 a las 12:59

Por lo que veo estás guardando en el fichero ITS.txt los datos con este
formato:

Nombre: John Apellido: Smith C.I.: xxxxxxx


Nombre: Alan Apellido: Turing C.I.: xxxxxxx

Este formato, hace que sea complicado manejar el fichero. ¿Se puede
cambiar?

Por ejemplo, sería más simple si lo guardas como hace Rubens separado por
dos puntos o por punto y coma es más sencillo, por ejemplo:
John:Smith:xxxxxxx
Alan:Turing:xxxxxxx

Si está almacenado así puedes recorrer el fichero y comprobar si existe un


determinado c.i. así:

1 set cicomprobar=xxxxx
2 for /f “tokens=1-4 delims=:” %%i in (ITS.txt) do (
3   set linea=%%i:%%j:%%k:%%l
4   If %%l == %cicomprobar% goto yaexiste
5 )
6 goto noexiste

Responder

dali dice:
21 septiembre, 2017 a las 18:07

Buenas
ese es el problema no se puede cambiar tiene que ser tal cual pero
ahora que tengo esa base lo voy a intentar denuevo y ver si lo puedo
hacer muchas gracias

Responder

67. Roberto N Flores Gonzalez dice:


29 septiembre, 2017 a las 18:11

Hola, como están todos.

Mi problema es el siguiente, estoy realizando un bat para respaldar el host, lo que


requiero (que no he encontrado como) es que cuando se me olvide deshabilitar el
antivirus (o en algún otro caso) y me salga el texto “Acceso denegado” me arroje
una advertencia que diga por ejemplo “no se te olvide ejecutar como
administrador y deshabilitar el antivirus” el código que estoy usando para el
respaldo es el siguiente:

@echo off
copy %WINDIR%\system32\drivers\etc\hosts %WINDIR%\system32\drivers
\etc\hosts.txt

Responder

68. jzaldivarleyva dice:


5 octubre, 2017 a las 15:50

Hermano gracias, cencillamente correcto.Ahora necesito por favor codigo para


darle a TABLA.BAT tamaño d la ventana q yo quiera.Hablo de las dimenciones d la

77 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

ventana q abre el cmd para darle belleza a la aplcacion, gracias y


esperando.bendiciones…

Responder

4m1g0 dice:
5 octubre, 2017 a las 17:02

Hola,

Puedes hacerlo con este comando, las “cols” corresponden al ancho de la


consola y las “lines” al alto.

mode con: cols=600 lines=300

Saludos

Responder

69. Yembolit19 dice:


5 octubre, 2017 a las 20:53

Hola Amigo! A pesar de estar empezando con HTML y CSS me sigue encantando
este programa por lo secillo que es (al menos de lo que se de batch, que no es
mucho)

Tengo una pregunta… Si quiero que alguien para una suma, ponga un número,
como puedo hacer para que solo puedas poner un número, no una letra o un signo.
Hasta el momento si pones una palabra lo que pasa es que pasa de “diapositiva”.

Explicandome mejor, en el if %numero_suma%==(cualquier número) goto


respuesta_suma

Pregunta aparte; En el foro, dentro de programacíon lo que podemos hacerlo es


dividirlo por lenguages (ej: JAVA, Java Script, Html…) Si te parece bien, lo creo y
pongo mis preguntas ahi

Muchas gracias!

Responder

4m1g0 dice:
13 octubre, 2017 a las 11:52

Hola,

Perdona la tardanza, estos días tengo mucho mucho trabajo y no estoy


pudiendo atender mucho por aquí.

La mayor parte de lenguajes de programación tienen lo que se llaman “tipos”


de alguna forma, es decir una variable puede ser entera, decimal, un string,
etc. pero en batch, todo es texto.

Para comprobar si una variable es un número puedes usar el comando “set


\a” por que este comando solo admite numeros, si no le pasas un numero
dará 0. Por ejemplo:
numero=3
letra=p

set/a test=%numero%
(test es igual a 3)

set/a test=%letra%
(test es igual a 0)

Por lo tanto simplemente tienes que hacer esto y comprobar que sea distinto
de 0, pero ten en cuenta que si la variable inicial era un 0 si es válida, así que
tendrás que comprobarlo con un if primero.
if %numero% == 0 echo Es un numero
set/a test=%numero%
if %test% NEQ 0 echo Es un numero

78 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Saludos

Responder

70. Adriana dice:


13 octubre, 2017 a las 3:45

Hola buenas noches, se puede hacer algo para obtener el dia de la semana? es
para armar unas bat para copias, ej, si es LUNES tal cosa, si es MARTES tal
cosa… etc.
Mucha ayuda brindas!

Responder

4m1g0 dice:
13 octubre, 2017 a las 11:42

Hola,

Es un poco complicado debido a que depende de la “localización” del


ordenador, eso se debe a que en cada idioma los días de la semana se llaman
diferente y además dependiendo del lugar del mundo el primer día de la
semana es el domingo o el lunes…

Si haces “echo %date%” algunos ordenadores van a devolver, entre otras


cosas el día de la semana. Si es así puedes obtenerlo de ahi, pero si no,
tendrás que hacer algo así:

wmic path win32_localtime get dayofweek

Esto te dará un numero del 0 a 6 donde 0 es siempre el domingo, 1 el lunes,


etc…

Saludos

Responder

71. jzaldivarleyva dice:


19 octubre, 2017 a las 3:51

Perfecto hermano q bien muchas gracias. Ahora necesito posicion en la pantalla al


abrir la aplicacion o sea en el centro,arriba, extremo superior derecho etc….y algo
mas como puedo desactivar o desabilitar las notificaciones de windows10 del
centro d actividades desde el cmd. gracias dios t bendiga.

Responder

72. María dice:


2 noviembre, 2017 a las 1:46

Hola, qué tal? necesitaría de tu ayuda. Me dejaron el siguiente ejercicio:


Escriba un script que pida al usuario ingresar un número, en un bucle, hasta que
el usuario ingrese 5.

Responder

4m1g0 dice:
2 noviembre, 2017 a las 11:10

Hola María,

Enséñanos que tienes por ahora. No debería ser muy complicado de


conseguir a ver si te podemos ayudar un poco

Tienes que usar un bucle o puedes hacerlo con un goto?

En este tutorial no se explican los bucles, pero con “goto” deberías ser capaz
de hacerlo sin problemas, inténtalo y te echamos un cable.

Saludos

79 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

73. Miguel dice:


15 noviembre, 2017 a las 1:21

Hola es muy bueno esta pagina, se puede hacer un programa con opcion a
ingresar 10 horas y que cada vez que coincida la hora suene una alerta y tenga la
opcion de volverle a poner otra fecha y asi sucesvamente.y al final que me lo
muestra en un archivo de texto

Responder

74. judez dice:


30 noviembre, 2017 a las 19:35

Hola, te hablo porque me gustaría q me dijeses como ponerle a una carpeta


contraseña. el tutorial está muy bien.
Un saludo.

Responder

4m1g0 dice:
14 diciembre, 2017 a las 16:49

Hola,

Windows no permite poner contraseña a una carpeta directamente. Puedes


hacerlo con un programa como VeraCrypt: https://sourceforge.net/projects
/veracrypt/

Lo que si puedes hacer desde bat es ocultar una carpeta, con el comando:

attrib +s +h miCarpeta

Para volver a hacerla visible puedes usar:

attrib -s -h miCarpeta

Responder

judez dice:
15 diciembre, 2017 a las 20:42

ok, muchas gracias.

Responder

75. jzaldivarleyva dice:


10 diciembre, 2017 a las 21:48

hola amigo y demas hermanos de este tutorial basico, como ya has dicho estas
muy ocupado.de todas formas espero q estes bien ya se como resolver lo de
desabilitar el centro de actividades y sus notificaciones y es creando esta clave en
el registro y es vailido para vista,w7,w8,w10:REG ADD
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer /v
DisableNotificacionCenter /t REG_DWORD /d “1” /f. se crea si el regedit no la
tiene funciona d maravilla. ahi esta a quien pueda interesarle, ya solo necesito
saber mi otra interrogante, q dios los bendiga.

Responder

4m1g0 dice:
14 diciembre, 2017 a las 17:08

Hola,

Genial, gracias por publicarlo!

Para mover la ventana de terminal, por desgracia hay que usar un programa
externo. El mejor que conozco es cmdow, tiene muchas más opciones que
esta.

80 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Puedes descargarlo desde aquí: https://ritchielawrence.github.io/cmdow/

El archivo ejecutable del programa en si está en la carpeta bin y puedes


ejecutarlo con el siguiente comando:
cmdow @ /mov 10 10

El cmd con el que estás trabajando debe estar en la misma ruta que el
programa cmdow. Para ver en que ruta está actualmente puedes usar el
comando “dir” y para moverte a la ruta donde está cmdow puedes usar: cd
C:\ruta\del\programa

Por último mencionar que la arroba (@) en el comando hace referencia a la


ventana actual. Puede moverse cualquier ventana disponible en el sistema
sustituyendo la @ por el título de ventana entre comillas. Por ejemplo: cmdow
“chrome – Todohacker…” /mov 120 80

Saludos

Responder

76. Ismael dice:


30 diciembre, 2017 a las 1:20

1 @echo off
2 echo.
3 set/p numero1= Dime un numero
4 cls
5 echo.
6 set/p numero2= Dime otro para sumar al anterior
7 cls
8 set/a suma= %numero1% + %numero2%
9 echo.
10 echo %numero1% + %numero2% = %suma%
11 echo.
12 echo Pulsa una tecla para salir.
13 pause>nul
14 exit
15 1
16 2
17 3
18 4
19 5
20 6
21 7
22 8
23 9
24 10
25 11
26 12
27 13
28 14
29 @echo off
30 echo.
31 set/p numero1= Dime un numero
32 cls
33 echo.
34 set/p numero2 Dime otro para sumar al anterior

Mi problema es que no lo pongo tan como esta en el ejemplo y siempre me pone


“falta un operador”
Saludos y gracias de antemano

Responder

4m1g0 dice:
2 enero, 2018 a las 11:25

Hola Ismael,

Acabo de probar el programa y me funciona correctamente.

He preparado un vídeo por si estas haciendo algo diferente.

81 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Prueba programa suma en batch

Responder

77. Juancho dice:


14 enero, 2018 a las 23:42

Buenas una ayuda estoy tratando de realizar un bat donde en el bat solicite un
Digito y con ese numero busque en un txt el numero digitado donde me traiga la
informacion que esta al frente ejemplo en el .vat ingrese codigo de oficina y en el
txt esta oficina 3137 192.35.46.5 ya que se necesita para hacer ping

Responder

4m1g0 dice:
19 enero, 2018 a las 14:59

Hola Juancho,

Puedes hacer algo así:


@echo off
for /F "delims=" %%a in ('findstr /I "NUMERO" Archivo.txt') do set texto=%%a
echo %texto%
pause

Eso busca “numero” en archivo.txt y escribe toda la linea. Modificandolo un


poco puedes conseguir la IP en tu caso.

Saludos

Responder

78. jzaldivarleyva dice:


25 enero, 2018 a las 21:03

dios t bendiga amigo: necestito saber si puedo en lenguaje batch conectarme a


una base de datos de access (hecha por mi). O sea utlizar las ventanas cmd como
formularios es mas como aplicacion francamente y llenar la base de datos
introduciendo datos con dichas ventanas cmd. espero puedas responder
rapido.gracias

Responder

4m1g0 dice:
28 enero, 2018 a las 1:05

Hola,

Desde batch no hay forma de conectarte con Access. Access es un programa


privativo que supongo tendrá sus propias herramientas que quizás puedas
ejecutar desde terminal. Pero en este caso no te puedo ayudar por que no uso
Access y lo desaconsejo casi siempre.

Saludos

82 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

79. jzaldivarleyva dice:


29 enero, 2018 a las 5:19

ok hermano. comprendido. me puedes decir como logro simular o hacer en batch


el efecto de la barra de progreso de instalacion de un programas. imagino sepas
de que te hablo . como cuando instalamos cosas por cmd. bendiciones

Responder

4m1g0 dice:
30 enero, 2018 a las 17:16

Hola,

Lo que puedes hacer es utilizar los caracteres: ± y Û para sumular una barra.
Pruebalos, el primero forma una barra vacía y el segundo una barra llena,
usando parte de unos y otros puedes generar la barra en el momento que
desees.

Esto por ejemplo es una barra medio llena:


ÛÛÛÛÛÛÛÛÛÛÛÛ±±±±±±±±±±±

Puedes verlo funcionando en este video:


https://www.youtube.com/watch?v=Ekr5U21yVGQ

En la descripción tienes el código que utiliza.

Ten en cuenta que tienes que borrar y reescribir toda la pantalla cada vez
que actualices la barra.

Saludos

Responder

80. jzaldivarleyva dice:


31 enero, 2018 a las 6:54

muchas gracias hermano.dios t bendiga

Responder

81. ramon a garrido gonzalez dice:


1 febrero, 2018 a las 2:51

hola amigo ,muchas gracias ,por el tutoliar.le pido de favor me ayude en esta duda
,tengo una maquina industrial que el disco duro no arrancaba,logre hacerlo y pase
informacion a otro disco .Luego instale en este disco en otra maquina el ms dos
que es el que tenia .La cuestion es que quiero volver a poner este disco en la
maquina u ordenador que estaba ,instalarle el msdos nuevamente ,copiarle todos
los archivos que tengo guardo ,el tiene un programa que gobierna tres
servomotores .me pregunta es posible lograra esto. Es decir intalar otra vez el ms
dos en la maquina donde estaba este disco copiarle las carpetas que tenia y
funcionara ,fundamentalmente abrira el programa de control de lo servos .Muy
agraddecido por su atencion .Espero su ayuda

Responder

4m1g0 dice:
1 febrero, 2018 a las 11:46

Hola Ramon,

Está complicado, por lo que dices es un sistema muy antiguo, imagino que el
ordenador se comunicará con un bus paralelo o serie con la placa
controladora de los servos. Si tienes posibilidad de acceder a los datos del
disco antiguo, lo más seguro es que clones por completo el disco para que
quede todo igual configurado.

Instalar de 0 un MS-DOS y hacerlo funcionar con el programa y

83 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

configuración que tenia anteriormente me parece un reto bastante grande.


Dependiendo de como de complejo sea el sistema puede funcionar
directamente o quizas tengas que hazer alguna configuración más
complicada.

Si no tienes una opción mejor intentalo por que no pierdes nada, pero puede
funcionar o no… no es sencillo.

Saludos

Responder

82. cr3sp0 dice:


9 febrero, 2018 a las 0:08

Hola, necesito generar archivos .bat que al ejecutarlos escriban letras sobre la
aplicación que ya estuviera ejecutándose. Como para ejecutar macros en los
juegos, algo así ¿me explico? Lo que quiero es poder tener esos .bat en una
pantalla tactil y poder lanzarlos sobre la aplicación que se esté ejecutando.
¿Es esto posible? Más arriba he visto una consulta de cómo pulsar teclas, F4 por
ejemplo decían, pero la verdad es que no me queda nada claro… y lo he probado y
trasteado, pero no me escribe sobre la aplicación que esté ejecutándose
¿Me puede echar una mano? mil gracias!

Responder

4m1g0 dice:
9 febrero, 2018 a las 12:06

Hola,

La respuesta que te puedo dar es la misma a la que haces referencia del


comentario sobre F4. Con bat directamente no se puede hacer, pero puede
llamar a traves de scripts a utilidades del sistema que te permiten hacerlo.

Aquí tienes el enlace donde explican como hacerlo: https://stackoverflow.com


/questions/17038282/press-keyboard-keys-using-a-batch-file

y te pongo aquí un código en batch un poco más refinado para lo que quieres
hacer tu para que puedas entenderlo mejor:

1 @if (@CodeSection == @Batch) @then


2 @echo off
3 set SendKeys=CScript //nologo //E:JScript "%~F0"
4 echo Selecciona la ventana a la que quieras mandar las teclas!
5 ping -n 3 -w 1 127.0.0.1 > NUL
6 echo 3
7 ping -n 3 -w 1 127.0.0.1 > NUL
8 echo 2
9 ping -n 3 -w 1 127.0.0.1 > NUL
10 echo 1
11 ping -n 3 -w 1 127.0.0.1 > NUL
12 echo Enviando teclas...
13 ping -n 1 -w 1 127.0.0.1 > NUL
14
15 %SendKeys% "AAABBBCC"
16
17 pause
18 goto :EOF
19 @end
20
21 // JScript section
22
23 var WshShell = WScript.CreateObject("WScript.Shell");
24 WshShell.SendKeys(WScript.Arguments(0));

Lo que hace es mostrar una cuenta atrás para que te de tiempo a seleccionar
la ventana correcta y después envía la secuencia de teclas: AAABBBCC

Saludos

Responder

83. Adrian dice:

84 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

13 marzo, 2018 a las 19:35

Hola hermano, como puedo bloquear el mause y teclado desde archivo bat? es
para un examen

Responder

4m1g0 dice:
13 marzo, 2018 a las 20:17

Hola Adrián,

Si te refieres a desactivar el teclado y raton del ordendor en general, no hay


forma de hacerlo en bat. Lo que si puedes hacer desde bat es modificar el
registro del sistema para que el teclado o el raton dejen de funcionar, pero no
es nada recomendable hacer esto. Cualquier error y puedes corromper tu
sistema operativo…

No entiendo la parte del examen, ¿te piden hacer esto en un examen? :O

Saludos

Responder

84. jzaldivarleyva dice:


20 marzo, 2018 a las 4:35

Amigo no por la pregunta de Adrian, pero me pico la curiosidad lo de desactivar el


mouse y teclado cambiando la clave del registro. Asumo son total madures y solo
con fines educativos esa informacion y asumo lo que le suceda a mi ordenador. por
favor dime como se puede hacer eso que dijiste. solo dime la ruta del
reg.bendiciones

Responder

4m1g0 dice:
20 marzo, 2018 a las 11:03

Hola,

Según la entrada de stack overflow que enlazo más abajo, la clave de registro
a eliminar es:
HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Mouclass

Pero OJO! por que después tendrás que dejarla de nuevo como estaba sin
usar el ratón…

La verdad es que yo no lo he probado por que estoy usando Fedora Linux,


pero debería funcionar si Microsoft no ha cambiado nada en las últimas
versiones de Windows.

Saludos

https://stackoverflow.com/questions/22866677/batch-code-to-temporarily-
disable-mouse-input

Responder

85. jzaldivarleyva dice:


20 marzo, 2018 a las 16:35

gracias amigo.

Responder

86. Edgar Alex dice:


26 marzo, 2018 a las 5:35

Saludos! muy interesante toda la informacion aca planteada. Ahora te expongo mi


problema… tengo una pc (“mural”) en red donde se muestra constantemente una
presentacion de power point, dicha presentacion se actualiza cada cierto tiempo

85 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

manualmente desde otra pc (“editor”) dado que esta en una carpeta compartida,
pero para que se vean los cambios en la pc “mural” por asi decirlo hay que ir
hasta donde esta ese equipo, cerrar la presentacion y volverla a abrir, he
conseguido como matar el proceso de powerpoint con un bat desde el equipo
“editor” pero no logro volver a abrir la presentacion a traves de la red. Podrian
ayudarme a como usar el comando START (o el que sea necesario) para que esta
presentacion vuelva a abrirse pero en el equipo “mural” no en el editor….

Responder

4m1g0 dice:
26 marzo, 2018 a las 23:00

Hola Edgar,

La primera pregunta que me surge es por qué hacer lo que pretendes con
power point? Un programa de presentaciones no parece para nada adecuado
para eso, y menos power point…

Se me ocurre la posibilidad de tener un programa que cierre y vuelva a abrir


el programa cada x tiempo, pero ejecutar algo en remoto solo con una
carpeta compartida no es posible sin hacer algo sucio cómo escanear la
carpeta en busca de cambios…

Saludos

Responder

87. Saúl De la Rosa dice:


31 marzo, 2018 a las 18:20

hola que tal, ¿ existe algun comando para abrir una aplicación(ejem. una pagina
web)y que la muestre en un determinado monitor cuando esta n conectados 3?

Responder

88. tavo dice:


6 abril, 2018 a las 20:17

como puedo crear un .bat que me notifique con un correo que si o no existe un
archivo espesifico

Responder

89. Jorge Otiniano dice:


8 abril, 2018 a las 22:41

Desde el entorno windowa, como puedo extraer el codigo fuente desde un


terminal del sgte link
http://home.chpc.utah.edu/~u0553130/Brian_Blaylock/cgi-
bin/goes16_download.cgi?source=aws&domain=F&product=ABI-L2-CMIP&
date=2018-04-08&hour=18

Para asegura que exista la informacion, la fecha debe ser actual y de una hora
anterior

Intente con wget -nd pero no carga la informacion como cuando lo hago desde la
barra de internet de windows

Responder

4m1g0 dice:
9 abril, 2018 a las 0:22

Hola Jorge,

¿Has probado a poner a URL entre comillas en el comando? esa URL tiene
varios caracteres que son interpretados por la terminal y que por lo tanto no
va a tener en cuenta wget.

Saludos

86 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

90. Jorge Otiniano dice:


9 abril, 2018 a las 15:39

Excelente, había probado entre comillas las partes source, domain, product, date y
hour, pero no todo el url como ahora que se ejecutó correctamente

Mil gracias mi amigo 4m1g0

Saludos

Responder

4m1g0 dice:
9 abril, 2018 a las 18:38

Genial, me alegro de que te haya servido!!

Saludos

Responder

91. Abel Abelino dice:


11 abril, 2018 a las 0:48

Hola amigo un gusto saludarte.


Estoy aprendiendo mucho en tu pagina. Gracias por compartir tus conocimientos.

Sabes necesito de tu ayuda.


Estoy queriendo abrir varios archivos pdfs a la vez desde cmd.

Intenté poner el siguiente comando

start prueba.pdf

me abre el archivo .pdf pero quiero que a la vez me abra todos los archivos que
tengo puesto en esa carpeta.

Espero que me pueda ayudar amigo.

Saludos.

Abel.

Responder

4m1g0 dice:
11 abril, 2018 a las 13:44

Hola Abel,

Puedes poner muchos start uno detras de otro así:


start 1.pdf
start 2.pdf

Si lo que quieres es automaticamente abrir todos los que haya sin saber el
nombre de antemano tienes que hacer un bucle. Es un poco más avanzado
pero te lo dejo por aqui, intenta entenderlo y si tienes dudas pregunta.

for /r %%i in (*.pdf) do start %%i

El comando for es para hacer un bucle y el parámetro r indica listar todos los
archivos del directorio actual que terminen por .pdf y hace la acción indicada
al final.

Saludos

Responder

92. Abel Abelino dice:

87 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

12 abril, 2018 a las 1:11

Genial funciono!!

Te cuento que le aumente la ruta donde estaba los archivos y me quedo asi:

for /r D:\Abelino\proyecto %%i in (*.pdf) do start %%i

Muchas gracias por tu ayuda.

Eres un genio amigo.

Saludos

Responder

93. jzaldivarleyva dice:


13 abril, 2018 a las 22:09

amigo buenas tardes. existirá la forma de ejecutar un script en este caso hecho en
batch, antes de que se cierre sesión en windows sin utiizar el GPEDIT.MSC.
podemos programar el seguimiento de una variable de entorno o proceso que nos
indique que se cierra la seión y entonces se ejecuta el script por el batch que
programemos. bendiciones.

Responder

yooimx dice:
24 abril, 2018 a las 0:04

Desde el programador de tareas, se puede el cierre de sesión como


desencadenador.

Responder

jzaldivarleyva dice:
24 abril, 2018 a las 5:57

Agradezco tu ayuda hermano pero necesito hacerlo por cmd. de todas


formas si sabes hacerlo programando el comando externo
SCHTASKS.exe ahi si me sirve. muchas gracias y responde si lo sabes
hacer.bendiciones

Responder

94. hibox187 dice:


19 abril, 2018 a las 22:06

Buenas he estado aprendiendo mucho de tu tutorial, muchas gracias por tomarte


el tiempo en explicarnos.
Bueno mi pregunta es yo utilizo este batch:

start C:\Users\Sistemas\Desktop\format\E.bat
start C:\Users\Sistemas\Desktop\format\F.bat
start C:\Users\Sistemas\Desktop\format\G.bat

el continua así hasta la unidad X

el batch que ejecuta es el siguiente:

@echo off
@echo #######################################
@echo ##### INICIO DE FORMATO################
@echo #######################################
echo.

format E: /Q /FS:NTFS /X /Y

echo.
echo.
@echo #######################################

88 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

@echo ##### FIN DE FORMATO ##############


@echo #######################################
echo.
pause
exit

por cada unidad desde la E hasta la X, como esta claro el me abre una ventana de
CMD por cada unidad, mi pregunta es como hago para que cuando una unidad o
varias que no este no este en uso, me cierre esa ventana automáticamente, para
que solo me deje abiertas las que están si están en uso. Se que seria con una
variable y el if pero no sabría como implementarlo.

Y por ultimo hay forma de realizar un batch para expulsar todas las unidades
extraibles de forma segura?

muchas gracias por tu ayuda.

Responder

95. yooimx dice:


24 abril, 2018 a las 0:04

Excelente tutorial. Gracias.

Responder

96. Mario dice:


8 mayo, 2018 a las 16:39

Hola una consulta hay alguna forma de generar un bat para iniciar un programa y
que ingrese usuario y password que solicita para iniciar el programa encontre este
ejemplo pero unicamente levanta el .exe sin efectuar la autenticacion

@ECHO OFF

CD C:\Program Files (x86)\Anviz\CrossChex Standard

START CrossChex.exe /user:ADMIN /password:

EXIT

gracias por la ayuda.

Responder

4m1g0 dice:
9 mayo, 2018 a las 12:47

Hola Mario,

Puedes hacer que pida autenticación en la consola usando los comandos set/p
vistos en el tutorial, pero eso no evitará que alguien abra el archivo .bat y vea
que exe se está ejecutando y lo abra manualmente.

Sería algo así:

@echo off
:inicio
set/p pass=Clave de acceso:
if %pass%==1234 goto fin
echo Clave incorrecta
goto inicio
:fin
echo Clave correcta
echo Iniciando programa...
start programa.exe

Responder

97. jzaldivarleyva dice:


9 mayo, 2018 a las 16:41

89 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

AMIGO no te olvides de mi. Bendiciones

Responder

4m1g0 dice:
15 mayo, 2018 a las 11:47

Hola,

Siento que no haya respondido, últimamente tengo mucha carga de trabajo y


casi no me queda tiempo.

No tengo muy claro cual sería la solución para tu problema en Windows (en
Linux sería mucho mas sencillo) tengo que investigarlo y hacer pruebas, pero
no he tenido tiempo.

A ver si alguien que lea por aquí sabe y puede darnos alguna pista.

Saludos

Responder

98. jzaldivarleyva dice:


15 mayo, 2018 a las 23:23

ok, hermano yo cuando te pido ayuda es que lo he intentado y no se hacerlo. te


agradezco de todo corazon al igual que a yooimx. muchas gracias por tu tiempo
seguro al final lo resolvemos. bendiciones.

Responder

99. randomguy2200 dice:


19 mayo, 2018 a las 1:37

hola,queria decir que a veces parece que if no funciona.ej:


set /p var=ponga un valor
if %var%==1 goto 1
if %var%==2 goto 2
presiono 1 y me manda al 2.
me fijo:el codigo todo bien
mi computadora tiene un error o algo?
gracias por su tiempo.

Responder

randomguy2200 dice:
19 mayo, 2018 a las 1:41

plz digan que pasa es frustrante.

Responder

4m1g0 dice:
19 mayo, 2018 a las 14:21

Hola,

Programando hay que tener siempre en cuenta una cosa: Los ordenadores
NUNCA se equivocan.

Es decir que si algo no va como esperamos debemos asumir que o bien hemos
cometido un error en algún lado, o bien algo que pensábamos que funcionaba
de una manera en realidad funciona de otra forma.

Esto siempre me ha ayudado a tener paciencia, analizar el código


cuidadosamente y hacer pruebas y más pruebas hasta dar con los errores.
Este tipo de cosas pasan a todos los niveles en informática.

Con respecto a tu código recuerda que goto te lleva a donde hayas puesto la
etiqueta con ese nombre, y también ten en cuenta que si no indicas lo
contrario, la ejecución sigue linea a linea si no se cumplen las condiciones,

90 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

por eso siempre hay que terminar los bloques con exit si no quieres que pase
al siguiente bloque.

Examina este ejemplo completo basado en tu código y seguro que encuentras


el problema.

1 @echo off
2 set /p var=ponga un valor
3 if %var%==1 goto 1
4 if %var%==2 goto 2
5 echo no has pulsado ni 1 ni 2
6 pause
7 exit
8
9 :1
10 echo has pulsado 1
11 pause
12 exit
13
14 :2
15 echo has pulsado 2
16 pause
17 exit

Responder

100. Luciano Tagliamonti dice:


19 mayo, 2018 a las 17:02

Muy bueno, espero que pueda aprender con este tutorial.

Responder

4m1g0 dice:
19 mayo, 2018 a las 22:07

Genial, espero que te diviertas!

Responder

101. Jorge Otiniano dice:


19 mayo, 2018 a las 19:43

Como seria la secuencia de comando en un batch windows o linux para extraer un


archivo si previamente se accede con una cuenta gmail
la secuencia manual seria:
en una ventana accedo a internet
1.- https://console.cloud.google.com/storage/browser/gcp-public-data-goes-16/
enter … ingreso mi usuario y contraseña

2.- Accedo a la carpeta tipo ABI-L2-MCMIPF/

3.- Accedo a la carpeta año 2018/

4.- Accedo a la carpeta dia juliano 139/

5.- Accedo a la carpeta hora UTC 17/

6.- busco el ultimo archivo con codigo OR_ABI-L2-CMIPF-M3C14

7.- Luego click (extrae) OR_ABI-L2-CMIPF-


M3C14_G16_s20181391715420_e20181391726187_c20181391726272.nc

Todo estos procesos como lo haria en comando de linea o con un batch

Gracias

Responder

4m1g0 dice:
19 mayo, 2018 a las 22:07

Hola Jorge,

91 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Muy complicado hacer eso en bat como lo has descrito. En concreto google
cloud tiene una API de programación que te permite acceder a sus ficheros
usando diferentes lenguajes de programación y autenticarte usando las
credenciales adecuadas.

En este enlace tienes las guías sobre como usarlo, pero es un tema
relativamente avanzado… bastante mas allá que este tutorial.

Saludos

Responder

102. Halcon dice:


25 mayo, 2018 a las 17:48

Hola 4m1g0: Te felicito…todo un GURÚ….


Yo tengo archivos que programé se abran o carguen siempre al iniciar windows,
en menú inicio>programas etc. Y corren perfectamente.
¿Que debo hacer si quiero que al encender mi pc, además que carguen estos
programas, por ejemplo, se ejecute una canción en windows media, pero que al
finalizar se cierre la ventana de windows media? Se puede desde aquí(windows) o
debo hacer un crear un archivo .bat adentro de la carpeta del menu inicio y que
comando le doy para que cierre dicha ventana?

Responder

4m1g0 dice:
27 mayo, 2018 a las 2:24

Hola Halcón,

Gracias por tu comentario. El problema a la hora de cerrar windows media es


que no sabes si ha acabado la canción o no. El reproductor no te avisa cuando
termina y no hay una forma sencilla de detectarlo. Lo que puedes hacer, si
sabes cuanto dura la canción es, esperar esos segundos y después cerrar
windows media… Para esperar se suele usar el comando ping en bat:
@echo off
start calc.exe
PING localhost -n 6
taskkill /im calc.exe

Este código debería abrir la calculadora, esperar 6 segundos y cerrarla.

Responder

Halcon dice:
31 mayo, 2018 a las 21:29

Hola 4m1g0

CON TUS SABIOS CONSEJOS SI LO LOGRÉ!!!

Cuando arranco mi máquina me gusta que siempre suene una melodía


de 20 segundos, y a la vez me indica que la máquina arrancó bien.
Intenté mil veces hacerlo desde la consola de sonidos de windows, en
inicio de windows ponía el nombre de la melodía, PERO
inexplicablemente no funcionaba.

Sólo tuve que hacer una pequeña correción en la línea del taskkill pues
cerraba la canción pero NO el reproductor. Te dejo como lo logré.

@ echo off
start C:\Windows\Media\NFL.wav
PING localhost -n 24
taskkill /im WMPLAYER.EXE

Lo único que restaría es que la ventana del ms-dos, quede minimizada


durante la ejecución, pero no importa, luego de 24 segundos, se cierra
sola.

92 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Felicitaciones 4m1g0

Responder

4m1g0 dice:
31 mayo, 2018 a las 21:47

Genial!

Muchas gracias por publicar la solución!

Para minimizar la CMD prueba a poner esto en la primera linea:

1 if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start "" /min "%~dpnx0"

La explicación de como funciona está aquí (en inglés):


https://stackoverflow.com/questions/9232308/how-do-i-minimize-
the-command-prompt-from-my-bat-file

Responder

103. Lincoyan dice:


30 mayo, 2018 a las 23:52

Buenas tardes amigos,

Tengo una consulta, como hacer que al ejecutar un bat, me pida clave y no la
muestre en pantalla
al escribirla.

Me podrian ayudar?

Responder

4m1g0 dice:
31 mayo, 2018 a las 13:57

Hola Linkcoyan,

Por desgracia no hay una solución simple en Windows, ya que bat no lo


soporta por defecto.

Como casi todo esto sería muchisimo más facil usando Linux.

Te dejo un enlace de alguien que ha hecho un código para emular este


comportamiento, pero no es simple.

https://stackoverflow.com/questions/30012711/adding-password-masking-to-
a-script

Saludos

Responder

104. Halcon dice:


1 junio, 2018 a las 16:00

Hola 4m1g0

Lo logré de nuevo con la referencia que me diste y funcionó, agregándole al final


exit nuevamente. Aquí te dejo como funcionó. Ahora si minimiza la ventana del
prompt.

if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start “” /min


“%~dpnx0” %* && exit
@ echo off
start C:\Windows\Media\NFL.wav
PING localhost -n 24
taskkill /im WMPLAYER.EXE
exit

93 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Ahora te pregunto: COMO HAGO PARA MINIMIZAR TAMBIÉN LA APLICACIÓN


(wmplayer.exe)? INTENTÉ VARIAS COSAS NO lo consigo. gracias

Responder

4m1g0 dice:
5 junio, 2018 a las 13:05

Para iniciarlo minimizado puedes usar el parámetro /min con este formato:

start /min wmplayer.exe “C:\ruta\musica.mp3”

Saludos

Responder

105. Rafa Garrido dice:


5 junio, 2018 a las 11:43

Hola mira tengo una urgencia sobre un scrip


Hoy en un examen me ponia que hacer un menu y con una etiqueta que tuviera
que poner la hora otra etiqueta para poder modificarla ahora igual pero en vez de
la hora con la fecha y salir
y que si no haciamos nada se saliese

Responder

106. FranchescoYT dice:


8 junio, 2018 a las 2:01

Hola dengo una duda.

como se puede hacer que al agregar una letra ejecute una funcion sin necesidad
de presionar enter.

Responder

107. Samuel dice:


8 junio, 2018 a las 13:34

Hola

Me gustaría saber si existe una manera de ejecutar un archivo.bat creado en Linux


a Windows

Ejemplo:

He creado un archivo en Linux llamado prueba.bat y lo quiero ejecutar en


Windows.

Responder

4m1g0 dice:
8 junio, 2018 a las 21:10

Hola Samuel,

Batch es un lenguaje interpretado, eso quiere decir que lo que escribes es un


simple archivo de texto. Lo puedes escribir incluso en el móvil, so lo guardas
adecuadamente, windows podrá ejecutarlo.

Todos los sistemas operativos tienen un lenguaje así. En linux se usa bash
normalmente.

Saludos

Responder

Samuel dice:
11 junio, 2018 a las 14:11

94 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Hola

Creo que no he formulado bien la pregunta xD:

si no me equivoco batch se usa para Windows y bash para Linux,


entonces si yo escribo un archivo .bat con el lenguaje bash y lo ejecuto
en Windows según he probado no es capaz de leerlo correctamente.
¿Hay alguna manera de poder leerlo?

Otra pregunta:

He escrito el siguiente codigo:

1 @echo off
2 mode con lines=50
3 mode con cols=100
4 color 04
5 :inicio
6 echo --------------------------------------------------------------------------------------
7 echo               Bienvenido a la prueba de script, pulse cualquier tecla para continuar
8 echo --------------------------------------------------------------------------------------
9 pause>nul
10 cls
11 echo.
12 echo.
13 color 07
14 set fin=
15 set/p calculadora= Pulse 1 para abrir la calculadora. Si desea saltar este paso
16 set iniciotest=
17 if %calculadora%==1 start calc.exe
18 if not %calculadora ==1 goto iniciotest
19 :iniciotest
20 set test=
21 set fin=
22 set/p test=Pulse 2 si desea realizar un test. Si desea saltar este paso pulse cualquier
23 if %test%==2 goto test
24 if not test==2 goto fin
25
26 :test
27 :pregunta1
28 set incorrecto1=
29 set/p atlas=¿Quien es Atlas?
30 if %atlas% %atlascorrecto%==Fontaine goto correcto1
31 if not %atlas%==Fontaine goto incorrecto1
32 set atlascorrecto=1
33
34 :pregunta2
35 set incorrecto2=
36 set/p cordero=¿Quien es el cordero?
37 if %cordero% %corderocorrecto%==Elizabeth goto correcto2
38 if not %cordero%==Elizabeth goto incorrecto2
39 set corderocorrecto=1
40
41
42 :pregunta3
43 set correcto3=
44 set/p Comstock=¿Quien es Booker en otra dimension?
45 if %Comstock%==Comstock goto correcto3
46 if not %Comstock%==Comstock goto incorrecto3
47
48 :correcto1
49 echo Correcto, siguiente pregunta.
50 goto pregunta2
51
52 :correcto2
53 echo correcto, siguiente pregunta.
54 goto pregunta3
55
56 :correcto3
57 echo correcto, Has terminado las preguntas
58 goto fin
59
60 :incorrecto1
61 echo Incorrecto, siguiente pregunta.
62 goto pregunta2
63
64 :incorrecto2
65 echo incorrecto, siguiente pregunta.
66 goto pregunta3
67
68 :incorrecto3
69 echo incorrecto, has terminado las preguntas.

95 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

70 goto fin
71
72 :fin
73 set suma= %atlascorrecto% + %corderocorrecto%
74 echo Enhorabuena Has terminado el test tu puntuacion final es: %atlascorrecto% + %corderoco
75 echo Pulsa una tecla para salir.
76 Pause>nul
77 exit

Como resultado final quiero que se sumen dos valores.

En la pregunta ¿Quien es Atlas? le asigno la variable atlascorrecto a la


respuesta Fontaine, y luego a la variable atlascorrecto le asigno el valor
1.

En la pregunta ¿Quien es el cordero? hago los mismo solo cambiando la


respuesta.

Luego en la etiqueta :final hago una operación para que se sumen los
dos valores es decir: atlascorrecto=1 + corderocorrecto=1, realizaria la
siguiente operacion 1 + 1
pero al hacerla me aparece el siguiente resultado

Enhorabuena has terminado test tu puntuacion final es: + = +


quiero que me aparezca la suma de los numeros 1 + 1

Siento que tengas que leer todo esto xD.

Muchas Gracias.

Responder

Samuel dice:
13 junio, 2018 a las 13:09

Me contesto a mi mismo xD

Ya he encontrado la solución, he creado tres variables en


:correcto1, :correcto2 y :correcto3 donde el resultado es 1, y en :fin
las he añadido, también cree variables con resultado 0 en
:incorrecto1, :incorrecto2 y :incorrecto2 y las añadí a :fin
Les dejo el código por si le sirve a alguien.

1 @echo off
2 mode con lines=50
3 mode con cols=100
4 color 04
5 :inicio
6 echo --------------------------------------------------------------------------------
7 echo               Bienvenido a la prueba de script, pulse cualquier tecla para conti
8 echo --------------------------------------------------------------------------------
9 pause>nul
10 cls
11 echo.
12 echo.
13 color 07
14 set fin=
15 set/p calculadora= Pulse 1 para abrir la calculadora. Si desea saltar este
16 set iniciotest=
17 if %calculadora%==1 start calc.exe
18 if not %calculadora% ==1 goto iniciotest
19 :iniciotest
20 set test=
21 set fin=
22 set/p test=Pulse 2 si desea realizar un test. Si desea saltar este paso pulse
23 if %test%==2 goto test
24 if not test==2 goto fin2
25
26 :test
27 :pregunta1
28 set incorrecto1=
29 set/p atlas=¿Quien es Atlas?
30 if %atlas% %atlascorrecto%==Fontaine goto correcto1
31 if not %atlas%==Fontaine goto incorrecto1
32 set atlascorrecto=1
33
34 :pregunta2
35 set incorrecto2=

96 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

36 set/p cordero=¿Quien es el cordero?


37 if %cordero% %corderocorrecto%==Elizabeth goto correcto2
38 if not %cordero%==Elizabeth goto incorrecto2
39 set corderocorrecto=1
40
41
42 :pregunta3
43 set correcto2=
44 set/p Comstock=¿Quien es Booker en otra dimension?
45 if %Comstock%==Comstock goto correcto3
46 if not %Comstock%==Comstock goto incorrecto3
47
48 :correcto1
49 set atlascorrecto=1
50 echo Correcto, siguiente pregunta.
51 goto pregunta2
52
53 :correcto2
54 set corderocorrecto=1
55 echo correcto, siguiente pregunta.
56 goto pregunta3
57
58 :correcto3
59 set comstockcorrecto=1
60 echo correcto, Has terminado las preguntas
61 goto fin
62
63 :incorrecto1
64 set atlasincorrecto=0
65 echo Incorrecto, siguiente pregunta.
66 goto pregunta2
67
68 :incorrecto2
69 set corderoincorrecto 0

Responder

4m1g0 dice:
13 junio, 2018 a las 16:15

Genial Samuel,

Disculpa que no me dio tiempo a revisar tu código y ya te


adelantaste tu mismo con la solución.

Me alegra que lo hayas conseguido arreglar, y gracias también


por participar y echar un cable a los demás por aquí!!!

Saludos

108. FranchecoYT dice:


8 junio, 2018 a las 18:59

Hola tengo una duda investique un poco y no entiendo muy bien en la


programacion de archivos .bat

es posible usar la funcion GETS.


Y si se puede diganme como se usa.

Responder

4m1g0 dice:
8 junio, 2018 a las 21:08

Hola Francheco,

No, la funcion GETS es del lenguaje de programación C. Es diferente y muy


potente, puede ser el siguiente paso si quieres aprender a programar.

Con Batch no hay una forma limpia de hacerlo, pero puedes usar el comando
choice. Tienes que indicarle la lista de teclas permitidas y no te dejará pulsar
ninguna otra. Pruébalo:

choice /n /C 12345abc /M Elige 1-5, a, b, c:

La respuesta que haya dado el usuario se guarda siempre en la variable

97 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

%errorlevel% puedes verlo con echo %errorlevel%

Saludos!

Responder

FranchecoYT dice:
8 junio, 2018 a las 23:15

Graisas igualmente de mando saludos ya lo probe en mi programa uno


sencillo y si me funciona pero cuando lo quiero agregar a mi segundo
programa hay un ploblema,
cuando Presiono La Y en donde esta error si me envia a la parte de
ayuda pero cuando presiono N no me envia a la parte de menu. ¿Porque?

1 @echo off
2 Title Temporizador de Juego
3 cls
4 color 8f
5 echo.
6 set/p Tiempo= Escribe el tiempo que quieres tener:
7 cls
8 if %Tiempo% LSS 600 goto:Mensaje
9 if %Tiempo% GTR 750 goto:Establecido
10 @pause
11
12
13 :Mensaje
14 color 4f
15 echo.
16 echo.
17 echo.
18 echo.                            
19 echo.
20 echo.
21 echo. ERROR...
22 echo.                                
23 echo :========================================================:
24 echo : Intenta introducir un numero mayor que 750 :
25 echo : Intentalo Nuevamente... :
26 echo :========================================================:
27 echo.
28 echo.
29
30
31              CHOICE /C:YN /M "Necesitas Ayuda"
32              IF "%ERRORLEVEL%"=="Y" GOTO Ayuda    
33              IF "%ERRORLEVEL%"=="N" GOTO Menu
34

Responder

4m1g0 dice:
13 junio, 2018 a las 16:29

Hola Franchesco,

El problema es que %errorlevel% no contiene la letra que el usuario


insertó sino la posición de esa letra en la lista que tu pedías en el
comando choice.

Puedes verlo con este script:

1 @echo off
2
3 choice /C:YN /M "Pulsa "
4 echo %ERRORLEVEL%
5 pause

Tendrías que sustituir en tu script la comparación que haces en la


parte de ir al menú por lo siguiente:

1 choice /C:YN /M "Deseas Regresar al menu principal"


2 IF "%ERRORLEVEL%"=="1" GOTO Menu
3 IF "%ERRORLEVEL%"=="2" GOTO Ayuda

Saludos

98 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

109. Halcón dice:


11 junio, 2018 a las 18:24

Hola 4m1g0, me recuerdas? tu me ayudaste a correr minimizado una melodía en


wmplayer. Recuerdas?

if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start “” /min


“%~dpnx0” %* && exit
@ echo off
start C:\Windows\Media\NFL.wav
PING localhost -n 24
taskkill /im WMPLAYER.EXE
exit

Intenté varias cosas con tu consejo para minimizar y lo más que conseguí fue
ponerlo en modo máscara, que ocupa una nada. Mi pregunta AHORA es esta:

Este mismo .bat lo quise hacer en otra compu, y la melodía la tengo en carpetas
con nombres compuestos y a pesar de ponerle toda la ruta, dice que no la
encuentra.

Te dejo como lo hice

if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start “” /min


“%~dpnx0” %* && exit
@ echo off
start /min C:\MIS DOCUMENTOS PERSONALES\MUSICA Y MAS\CANCIÓN.MP3
PING localhost -n 24
taskkill /im WMPLAYER.EXE
exit

pero me dice “C:\MIS” no se encuentra. Quise solucionarlo escribiendo guiones


bajos, en dicha línea así C:\MIS_DOCUMENTOS_PERSONALES\MUSICA_Y_MAS
\CANCIÓN.MP3 Y TAMPOCO. LA PC insiste en que la ruta está mal

Que sucedió 4m?


gracias

Responder

Samuel dice:
12 junio, 2018 a las 12:20

Hola.

Creo que la ruta tienes que escribirla de la siguiente manera “C:\MIS


DOCUMENTOS PERSONALES\MUSICA Y MAS\CANCIÓN.MP3”

Tienes que poner las comillas “” ya que las carpetas tienen espacios.

Responder

110. Halcón dice:


13 junio, 2018 a las 15:28

Gracias Samuel, fíjate que lo hice lo que me dijiste, pero abre dos ventanas de
cmd, en una la supuesta ejecución y otra vacía que solo dice c:\usuario\halcon
\documentos y nada más y en la otra corre y descuenta los segundos pero ni
siquiera abre el wmplayer. Quizás el error está en la línea inicial

if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start “” /min


“%~dpnx0” %* && exit

que no la entiendo del todo, pero también esta línea aparece en cmd después de

c:\usuario\halcon\documentos

En esta máquina de donde te hablo funcionó a la perfección. La unica diferencia


con la otra es la ubicación de la canción y nombre de las carpetas, por ello NO

99 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

entiendo que sucede que NO corre.

gracias

Responder

4m1g0 dice:
13 junio, 2018 a las 16:11

Hola Halcón,

Lo que comenta Samuel es correcto, tienes que poner las rutas entre comillas
siempre que lleven espacio, como él ha indicado.

Con respecto a lo que comentas, me parece muy raro que se funciona en un


ordenador no funciona en el otro. Comprueba que la ruta está bien escrita y
entre comillas. Y MUY IMPORTANTE, si has copiado el script de aqui, o de
algún otro lado para cambiarlo de ordenador, fíjate bien por que a pesar de
que aparentemente todo funciona, las comillas y otros caracteres especiales
no son los mismos al copiarlos. Lo mejor ante la duda es que borres todo
(incluido la primera linea) y lo escribas desde 0 para asegurarte. O bien que
revises manualmente todas las comillas.

Saludos

Responder

111. Samuel dice:


15 junio, 2018 a las 9:47

Hola

Siento ser pesado xD

Me gustaría hacer con batch cosas más específicas como por ejemplo cambiar la
dirección ip o cambiar de usuario…

Por lo que tengo entendido hace falta aprender como funciona el registro de
Windows.

¿Me podrías decir alguna página donde lo expliquen? Preferiblemente en Español


aunque si es en Inglés también me sirve.

Gracias

Responder

4m1g0 dice:
8 julio, 2018 a las 17:21

Hay algunos comandos específicos para eso en bat.

Por ejemplo puedes ver la ip o ips asignadas a tu equipo con el comando: ip


config

Puedes realizar acciones más complejas sobre las interfaces de red con el
comando netsh. Puedes consultar la sintaxis aquí: https://docs.microsoft.com
/es-es/windows-server/networking/technologies/netsh/netsh-contexts

Responder

112. Anthony Palomino dice:


15 junio, 2018 a las 17:45

hola 4m1g0 quiero consultarte algo he creado un bat para hacer backup a mis
usuarios y usuarias. ademas, quiero crear un bat que me brinda que bakup se ha
realizado correctamente y quienes no realizo su respectivo backup.Agradeceria tu
respuesta.

Responder

100 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

4m1g0 dice:
8 julio, 2018 a las 17:27

Hola,

Gracias por seguirnos. Por tu pregunta no entiendo de que quieres hacer


backup concretamente… ¿Tienes algo ya hecho? muéstranos el código y lo
vamos viendo juntos.

Saludos

Responder

113. Halcón dice:


27 junio, 2018 a las 19:48

Hola 4m1g0, me recuerdas? El de la canción al iniciar windows. Te cuento que


según tu último comentario, eliminé el script inicial, y lo corrí en mi 2do
ordenador, tal y como corrió bien en este 1er ordenador, lo deje igualito como lo
dice mi conversación del 31.5.18. si te das cuentas lo único que cambia es la ruta
en mi ordenador 2, y como dijo Samuel, le puse entre comillas por ser nombres
compuestos, PERO NO FUNCIONÓ. Te lo dejo

@ echo off
start /min “C:\MIS DOCUMENTOS PERSONALES\Bkup\Wavs y media\Media
\wavinimnf.wav”
PING localhost -n 24
taskkill /im WMPLAYER.EXE
exit

saludos y gracias 4m1g0

Responder

4m1g0 dice:
8 julio, 2018 a las 17:32

Hola de nuevo,

Siento el retraso, mucho trabajo últimamente.

¿Que pasa en lugar de lo esperado? ¿estás seguro de que las comillas están
bien puestas? Si las copias y pegas de aquí no funciona, tienes que ponerlas a
mano tecleando, por que el carácter es diferente aun que visualmente es
igual.

Si ya has comprobado todo eso, intenta abrir una ventana de CMD y ejecutar
manualmente linea por linea a ver que ocurre, seguramente salga algún error
que nos de una pista.

Saludos

Responder

Halcón dice:
10 julio, 2018 a las 23:58

Hola 4mg10, tenías a toda la comunidad extrañada de tu silencio, pero


que bueno que era por trabajo. Probé lo que dijiste y NUEVAMENTE,
como todo un gurú, diste en el clavo. Todo el script está bien copiado,
pero cuando Samuel me dijo que pusiera comillas, no funcionaba, hasta
que cambié de lugar las comillas. Mira:

ASI NO FUNCIONÓ start /min “C:\Mis doc……


ASÍ SI FUNCIONÓ start /min C:”\Mis doc…..

Era el lugar de las comillas, que debe ir después de la C

gracias de nuevo

101 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Responder

114. David dice:


4 julio, 2018 a las 1:21

Hola Brother muchas gracia ..Buen tutoria aprendi mucho..


pero tengo una preguta..Puedo ejecutar teclas Mediante ese lenguaje??

Responder

4m1g0 dice:
8 julio, 2018 a las 17:33

Hola David,

Se puede hacer, pero es un tema un poco avanzado para este tutorial. He


hablado de eso ya anteriormente en este comentario.

Saludos

Responder

115. Gabriel Sanchez Vivar dice:


7 julio, 2018 a las 4:48

Estimado necesito su ayuda estoy intentando programar una piramide de numeros


de la siguiente manera

1
22
333
4444
55555
666666
7777777
88888888
999999999

he echo mi programación de la siguiente manera

@ echo off
set x=0

for /l %%i in (1,1,8) do (


for /l %%g in (1,1,1) do ( call :piri %%i
)
)

:piri

set /a x= %x%+1
set x=%x%
echo %x%%y%
set y=%x%%y%
set /a y=%y%+1

:eof

pero la piramide me queda de esa manera

1
22
323
4324
54325
654326
7654327
87654328
987654329

102 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

favor ayudar si estoy bien encaminado o si se puede hacer de otra manera


atento a su respuesta

Responder

4m1g0 dice:
8 julio, 2018 a las 17:57

Hola Gabriel,

Me parece que te estás complicando más de lo necesario.

Fíjate en el problema, necesitas hacer 9 iteraciones (una por cada linea)


En cada iteración i tienes que imprimir i veces el número i.

iteración 1, 1 vez el 1
iteración 2, 2 veces el 2… etc.

Por lo tanto necesitas 2 bucles anidados: el primero del 1 al 9 y el segundo


del 1 al i (siendo i el número de iteración del primer bucle). Fíjate en el
siguiente código:

1 @echo off
2 for /l %%i in (1, 1, 9) do (
3   for /l %%g in (1, 1, %%i) do (
4     if %%g LSS %%i (echo|set /p=%%i) else echo %%i
5   )
6 )
7 pause

Si te fijas el código anterior es exactamente lo que comenté antes, lo único


raro es que queremos imprimir los primeros números seguidos (sin saltar de
linea) y para eso uso el comando echo|set /p=%%i que imprime i sin pasar de
linea. Solo el último número de cada linea se imprime con echo, para pasar a
la siguiente linea.

El resultado es este:

1 1
2 22
3 333
4 4444
5 55555
6 666666
7 7777777
8 88888888
9 999999999
10 Presione una tecla para continuar . . .

Responder

116. Sandritto dice:


17 julio, 2018 a las 12:53

Hola 4m1g0,

Estoy atascado y necesito tu ayuda por favor. Tengo una serie de datos en un .txt
sacados de una consulta de una base de datos y necesito usar esos datos en un
.bat para pasárselos como parámetros a una orden.

He visto en otros tutoriales como guardar los datos de un fichero de texto en una
variable, pero claro en mi caso necesito los distintos datos de la consulta (son 4)
en variables distintas y usar esas variables en mi .bat para pasarlas como
parámetros de una orden.

No se si me he explicado muy bien pero espero que lo entiendas. Dime por favor
como solucionar esto o si se te ocurre otro método mas sencillo.

Un saludo.

Responder

4m1g0 dice:

103 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

17 julio, 2018 a las 14:33

Hola Sandritto,

Lo que pides requiere un procesamiento relativamente complejo, no es de


iniciación.

El proceso se llama parsear, y consiste en leer el fichero e ir interpretando lo


que hay en el y qué significa.

En bat se suele hacer con un bucle for con el parámetro delims.

Te dejo aquí un enlace de stack overflow en el que ponen un ejemplo bastante


claro de parseo de un fichero con variables separadas por comas:

https://stackoverflow.com/questions/17453085/windows-batch-to-read-file-
and-parse-lines-into-tokens-and-variables#

Pruébalo e intenta entenderlo bien antes de modificarlo para que haga lo que
necesitas.

Saludos

Responder

Sandritto dice:
18 julio, 2018 a las 9:11

Muchas gracias por la respuesta. Me pondré a tope con ello.

Otra duda, estoy realizando consultas a una base de datos mediante la


linea de comandos. El caso es que para realizar estas consultas uso el
comando/utilidad ‘sqlcmd’. Al introducir ese comando la consola entra
como en otra interfaz por así decirlo y dentro puedes ejecutar otros
comandos que sirven para consultar la base de datos, entonces quería
saber si para ponerlo en el .bat se pondrían como comandos normales o
habría que hacer algo especial con eso.

Gracias de antemano.

Responder

117. Jonathan Yui dice:


2 agosto, 2018 a las 2:34

muchas gracias por el tutorial


mi consulta es: quiero hacer un bucle con una frase “ëjemplo” pero avanza muy
rápido y no se puede leer hay forma para que las oraciones avancen de una forma
mas pausada?
o si uso el comando msg * se puede combinar con un bucle? o hacer que
aparezcan en distintas zonas de la pantalla no en el mismo lugar?
gracias.

Responder

4m1g0 dice:
6 agosto, 2018 a las 22:12

Hola Jonathan,

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

1 @echo off
2 echo 1
3 PING localhost -n 2
4 echo 2
5 PING localhost -n 2
6 echo 3
7 pause

El comando msg lo puedes meter dentro de un bucle sin problemas, pero

104 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

saldrán en la misma zona de la pantalla…

Saludos

Responder

118. Brayan dice:


6 agosto, 2018 a las 20:52

buen día

trabajo en el área de TI de una empresa y debo hacer una desinstalación masiva


de una aplicación, la idea es realizar la desinstalación por medio de CMD usando
el comando wmic, realice la prueba manual en mi equipo y hay un paso en el cual
pide confirmación para realizar la desinstalación. me gustaria sabher como puedo
plantear que si pregunta xxxxx responda yes o Y.

@echo
wmic product where name=”kiteworks” call uninstall %pregunta%
%computername%\ROOT\CIMV2:Win32_Product.IdentifyingNumber=”
{B1F828B4-30C5-4CC7-ACBD-
B5F1869DA9EC}”,Name=”kiteworks”,Version=”1.8.8″)->Uninstall() (Y/N/?)?
exit

Responder

4m1g0 dice:
6 agosto, 2018 a las 22:19

Hola Brayan,

La verdad es que solo he usado WMIC para tareas muy básicas, así que no se
como se podría hacer lo que comentas. Supongo que el proceso dependerá
del paquete que estés desinstalando.

Supongo que ya lo habrás mirado tu, pero lo único que se me ocurre para
probar a primera vista es usar el parámetro: /INTERACTIVE:OFF

Basandome en la documentación oficial:


https://docs.microsoft.com/en-us/windows/desktop/wmisdk/wmic

Pero como te digo, no puedo darte una respuesta mejor, lo siento. A ver si
alguien que nos visite se ha encontrado con este problema anteriormente y
puede darnos alguna pista.

Saludos

Responder

119. Pedro Aldana Bauta dice:


24 agosto, 2018 a las 21:26

muy bueno tu guia he aprndido mucho pero tengo una duda quiero crear un
programa que elimine una carpeta con un nombre especicifo (virus) para ser
precisos 2 pero ese no es el problema el problema es que no me funsiona es este:

@echo off

cd “d:\”
del /S /Q kfgfytjvbcfgusprxsbht
del /S /Q jsdsadsdbsgdslkdgs
pause

tambien no me cambia de disco, no se que hacer soy nuevo en esto aunque


conosco de otros lenguages de programación (c++) que me ayudan a entender
todo lo que explicaste muy bien.

Responder

120. Rayco Hernández Delgado dice:


15 septiembre, 2018 a las 6:01

105 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Hola, una pregunta

Quiero crear un bat que entre en esta página:

http://www.gobiernodecanarias.org/istac/jaxi-
istac/tabla.do?uripx=urn:uuid:31730d2f-86a8-4f0b-a706-5e5942702b7b

Seleccione los “turismos”


Seleccione la casilla de todas las opciones del segundo (aunque me conformo con
que coja una)
Seleccione 2917 (p)

y luego le de al botón de “consultar seleccion”

He estado probando cosas, pero no consigo que seleccione las casillas, el código
que tengo es este:

@echo off

set pagina=http://www.gobiernodecanarias.org/istac/jaxi-
istac/tabla.do?uripx=urn:uuid:31730d2f-86a8-4f0b-a706-5e5942702b7b&
uripub=urn:uuid:172cc83a-4789-4f72-bf57-a4d0147c0656
cls #Limpia la pantalla
echo Abriendo pagina
set /p Anno=Escriba el anno que desea descargar:

“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” %pagina%


echo.
echo %Año%

PAUSE
set seleccion_1 = pagina.find_element_by_name(\”Turismos\”)
echo seleccion_1.click()
set seleccion_2 = pagina.find_element_by_name(\”CANARIAS\”)
echo seleccion_2.click()
set seleccion_3 = pagina.find_element_by_name(\”%Anno% (p)\”)
echo seleccion_3.click()

set seleccion_4 = pagina.find_element_by_name(\”Consultar selección\”)


echo seleccion_4.click()
PAUSE

Responder

121. Agustin dice:


20 septiembre, 2018 a las 6:15

Hola tengo un poblema con mi archivo.bat, estoy “‘creando” un juego[nada


profecional] el problema
es que se me sale del progama al llegar un punto.
Este es el progama :

@echo off
title Juego
echo.
echo Hola nuevo jugador, bienvenido a mi juego.
set/p nombre= Como te llamas?
pause>nul
cls
echo.
echo Bienvenido %nombre%.
echo Para comenzar el juego te pido que veas el tutorial.
echo Se creo un documento en la carpeta.
echo Se abre cuando toques una tecla.
echo Crontoles: >Tutorial.doc
echo El progama te pregunta algo y te dar ejemplos y tu elegis una [cual elegiste
lo tenes que copiar tal cual y sin mayusculas,en serio] >>Tutorial.doc
echo Ejemplo: >>Tutorial.doc
echo Pregunta >>Tutorial.doc
echo Ahds >>Tutorial.doc

106 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

echo Uidf >>Tutorial.doc


echo Respuesta [en este caso] uidf >>Tutorial.doc
echo Advertencias: >>Tutorial.doc
echo No renombrar archivos, mover y borrar [achivos del juego] ya que al hacelo
se arruina el juego >>Tutorial.doc
echo El juego puede abrir paginas wed, apagar tu computadora, borrar achivos y
crear achivos [no nos hacemos responsable] >>Tutorial.doc
echo El juego no tiene un sistema de guadado >>Tutorial.doc
pause>nul
echo Leero [se va borrar]
echo start Tutorial.doc
pause>nul
cls
del Tutorial.doc
echo.
echo Antes de comenzar te voy hacer una pregunta:
echo Que te gusta mas los perros o los gatos?
echo Gato
set/p animal= Perro
pause>nul
cls
echo.
echo Yo soy team gato pero eso no importa, tenes un juego listo para jugar
pause>nul
cls
:morir
color 07
echo.
echo Estas en una habitacion vacia y de un tamaño considerable.
echo No sables como llegaste ahi.
echo Decidis ir a esquina a esquina para ver si hay una salida.
echo Para tu fortuna o para tu desgracia encontras una salida.
echo Que haces?
echo 1 Salis
set/p puerta= 2 Te quedas
if %puerta%==1 goto salis else goto te quedas
:te quedas
cls
echo.
echo Te quedas.
echo Traspasado un MUCHAS HORAS te comienza a dar hambre.
echo Salis
set/p puerta2= Te volves a quedar
pause>nul
if %puerta2%==te volves a quedar goto te volves a quedar else goto salis1
:salis1
goto salis
:te volves a quedar
cls
echo.
echo Te volves a quedar, te das cuenta que si seguis haci vas a morir.
echo Decidis salir.
echo Comenzas a caminar pero mientas lo haces te desmayas.
pause>nul
cls
echo Te despertas pero no tenes la fuerza suficiente para caminar.
echo Te preparas para morir.
pause>nul
cls
color 40
echo Moriste
cls
pause>nul
goto morir
:salis
cls
echo no implemetado
plause>nul

107 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Gracias por antemano


PD:Tiene otros fallos pero lo unico poblema que me jode [disculpa la palabra] es
que en un momento se me sale el achivo

Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están


marcados con *

Comentario

Nombre *

Correo electrónico *

Web

Publicar comentario

Buscar

Opciones

Registrarse
Acceder
RSS de las entradas
RSS de los comentarios
WordPress.org

Publicidad

ELIGE TU DESTINO

Abrir Cuenta Gratis

Entradas recientes

Instalar .deb en Fedora


El archivo /usr/bin de la instalación de (paquete) entra en conflicto con el
archivo del paquete filesystem-3.2-37.fc24.x86_64
Compartir internet wifi a través de Ethernet en Fedora Linux
Logear a un fichero la salida serial de Arduino o ESP8266 (Linux)
Como montar un servidor apache2 con ssl (https) en Docker

108 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Comentarios recientes

Competiciones OSHWDem 2018 | OSHWDem CORUÑA en Tutorial para


crear tu propio robot siguelíneas
Agustin en Lenguaje batch tutorial y comandos básicos .bat
Rayco Hernández Delgado en Lenguaje batch tutorial y comandos básicos
.bat
Pedro Aldana Bauta en Lenguaje batch tutorial y comandos básicos .bat
4m1g0 en Lenguaje batch tutorial y comandos básicos .bat

Archivos

julio 2017
junio 2017
diciembre 2016
noviembre 2016
abril 2015
septiembre 2014
junio 2013
abril 2013
marzo 2013
junio 2011
julio 2008

Categorías

Hardware
Noticias
Tutoriales

Buscar

Opciones

Registrarse
Acceder
RSS de las entradas
RSS de los comentarios
WordPress.org

Publicidad

NO IMPORTA SI ES EUROPA, ASIA


O EU

Abrir Cuenta Gratis

Entradas recientes

Instalar .deb en Fedora


El archivo /usr/bin de la instalación de (paquete) entra en conflicto con el
archivo del paquete filesystem-3.2-37.fc24.x86_64
Compartir internet wifi a través de Ethernet en Fedora Linux
Logear a un fichero la salida serial de Arduino o ESP8266 (Linux)
Como montar un servidor apache2 con ssl (https) en Docker

109 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Comentarios recientes

Competiciones OSHWDem 2018 | OSHWDem CORUÑA en Tutorial para


crear tu propio robot siguelíneas
Agustin en Lenguaje batch tutorial y comandos básicos .bat
Rayco Hernández Delgado en Lenguaje batch tutorial y comandos básicos
.bat
Pedro Aldana Bauta en Lenguaje batch tutorial y comandos básicos .bat
4m1g0 en Lenguaje batch tutorial y comandos básicos .bat

Archivos

julio 2017
junio 2017
diciembre 2016
noviembre 2016
abril 2015
septiembre 2014
junio 2013
abril 2013
marzo 2013
junio 2011
julio 2008

Categorías

Hardware
Noticias
Tutoriales

Meta

Registrarse
Acceder
RSS de las entradas
RSS de los comentarios
WordPress.org

Entradas recientes

Instalar .deb en Fedora


El archivo /usr/bin de la instalación de (paquete) entra en conflicto con el
archivo del paquete filesystem-3.2-37.fc24.x86_64
Compartir internet wifi a través de Ethernet en Fedora Linux
Logear a un fichero la salida serial de Arduino o ESP8266 (Linux)
Como montar un servidor apache2 con ssl (https) en Docker

Comentarios recientes

Competiciones OSHWDem 2018 | OSHWDem CORUÑA en Tutorial para


crear tu propio robot siguelíneas
Agustin en Lenguaje batch tutorial y comandos básicos .bat
Rayco Hernández Delgado en Lenguaje batch tutorial y comandos básicos
.bat
Pedro Aldana Bauta en Lenguaje batch tutorial y comandos básicos .bat
4m1g0 en Lenguaje batch tutorial y comandos básicos .bat

Etiquetas

Alienware Alienware X51 April fools' day Arduino atmega386 bat batch comic consumo delay Dell

desaparecer Electónica FreeBSD gamers gnome Google Maps impresoras 3D mapa del tesoro maquina inútil otherOS
paneles PlayStation4 precio libre programación ps4 restaurar sleep Steam Tesoro The private eye tinta conductora
tresure tutorial Ubuntu Useless machine windows 8

Etiquetas

110 de 111 02/10/18 10:23


Lenguaje batch tutorial y comandos básicos .bat |... https://todohacker.com/tutoriales/lenguaje-batch

Alienware Alienware X51 April fools' day Arduino atmega386 bat batch comic consumo delay Dell

desaparecer Electónica FreeBSD gamers gnome Google Maps impresoras 3D mapa del tesoro maquina inútil otherOS
paneles PlayStation4 precio libre programación ps4 restaurar sleep Steam Tesoro The private eye tinta conductora
tresure tutorial Ubuntu Useless machine windows 8

Etiquetas

Alienware Alienware X51 April fools' day Arduino atmega386 bat batch comic consumo delay Dell

desaparecer Electónica FreeBSD gamers gnome Google Maps impresoras 3D mapa del tesoro maquina inútil otherOS
paneles PlayStation4 precio libre programación ps4 restaurar sleep Steam Tesoro The private eye tinta conductora
tresure tutorial Ubuntu Useless machine windows 8

Publicidad

Información

Somos una página web sin ánimo de lucro para interesados en la tecnología,
nuestra intención es difundir conocimientos y noticias sobre temas
relacionados con el ámbito del software y el hadware.

¡Esperamos que disfrutes con nosotros y si quieres participar no dudes en


hacerlo!

Sigue leyendo »

© 2018 TodoHacker
Powered by WordPress | Theme Designed by: r4sdhc 3ds | Thanks to m'avait va, ce
site and http://buyr4carduk.com/

111 de 111 02/10/18 10:23

You might also like