0% encontró este documento útil (0 votos)
34 vistas23 páginas

Tutorial de Comandos Batch para Principiantes

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas23 páginas

Tutorial de Comandos Batch para Principiantes

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Taller de sistemas operativos 1

ACTIVIDAD EVALUATIVA DE LABORATORIO: ARCHIVOS BATCH

Carrera: Telecomunicaciones Materia: TSO-102

Debe sacar una captura de pantalla de cada código BATCH planteado en este
documento y pegarla en un archivo con su nombre para enviar.
[Link]

Lenguaje batch comandos básicos .bat

Este es un tutorial sencillo en el que se intenta explicar de la forma más 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 más 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 escribió un conjunto


de códigos que van a ser ejecutados de forma lineal (ya lo irán entendiendo con
ejemplos más adelante) y ese archivo de texto debe ser guardado con la
extensión .bat, es decir un nombre [Link] ej: [Link]

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
Taller de sistemas operativos 1

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
2pause
3exit

Si no sabes lo que es el eco prueba a quitar @echo off y verás lo que pasa.
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
2echo.
3echo Hola TodoHacker
4echo.
5echo Como estas?
6pause
7exit
Taller de sistemas operativos 1

Resultado abajo

Prueba para 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 echo.
2echo Pulsa una tecla para ir a la siguiente parte del tutorial de
[Link]
4pause>nul
5echo.
6echo Bienvenido a la segunda parte del tutorial echo. echo Pulsa una
7tecla para salir
pause>nul
exit
Taller de sistemas operativos 1

PARTE 2

El comando cls sirve para borrar la pantalla.


Taller de sistemas operativos 1

@echo off
1echo.
2echo Pulsa una tecla para ir a la siguiente parte del tutorial
3pause>nul
4cls
5echo.
6echo Bienvenido a la segunda parte del tutorial de todohacker
7echo.
8echo Pulsa una tecla para salir
9pause>nul
10exit
11
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
2set nombre= Pepito
3echo.
4echo Hola %nombre%
5echo.
6pause
7exit
Taller de sistemas operativos 1

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 [Link] eso en vez de
poner set debemos poner set/p
ej: set/p nombrevariable= valor
1@echo off
2echo.
3set/p nombre= ¿Como te llamas?
4cls
5echo.
6set/p años= ¿Cuantos años tienes?
7cls
8echo.
9echo Hola %nombre% tienes %años% años.
10echo.
11echo Pulsa una tecla para salir.
12pause>nul
13exit
Taller de sistemas operativos 1

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
2echo.
3set/p numero1= Dime un numero
4cls
5echo.
6set/p numero2= Dime otro para sumar al anterior
7cls
8set/a suma= %numero1% + %numero2%
9echo.
10echo %numero1% + %numero2% = %suma%
11echo.
12echo Pulsa una tecla para salir.
13pause>nul
14exit
Taller de sistemas operativos 1

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:
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
2echo.
3set/p variable= ¿Cuánto son 2 + 2?
4cls
5echo.
6if %variable%==4 echo bien!!
Taller de sistemas operativos 1

echo.
pause
exit

7
8
9
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.

@echo off
echo.
set/p variable= ¿Cuánto son 2 + 2?
cls
echo.
1
if %variable%==4 goto correcto
2
echo.
3
:correcto
4
echo bien!!
5
pause
6
exit
7
8
9
10
11
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
Taller de sistemas operativos 1

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
3echo.
4set/p pregunta= ¿cuanto son 2 + 2?
5cls
6echo.
7if %pregunta%==4 goto correcto else goto incorrecto
8:incorrecto
9echo.
10echo Mal!!
11echo.
12echo Vuelve a intentarlo
13pause
14cls
15goto inicio
16:correcto
17echo.
18echo Bien!!
19echo Pulsa una tecla para salir de este ejemplo de [Link]
20pause>nul
21exit
Taller de sistemas operativos 1

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
3echo.
4set/p variable= ¿cuanto son 2 + 2?
5cls
6echo.
7if %variable%==4 goto correcto else goto incorrecto
8:incorrecto
9echo.
10echo Mal!!
11echo Intentalo de nuevo
12pause
13cls
14set/p variable1= ¿Cuanto son 5 - 3?
15cls
16if %variable1%==2 goto correcto else goto incorrecto1
17:incorrecto1
18echo.
19echo Mal!!
20echo Intentalo de nuevo
21pause
Taller de sistemas operativos 1

cls
set/p variable2= ¿Cuanto son 4 * 4?
cls
echo.
if %variable2%==16 goto correcto else goto incorrecto2
:incorrecto2
echo.
echo mal!!
echo.
echo Intentalo de nuevo

22pause
23cls
24goto inicio
25:correcto
26echo.
27echo Bien!!
28echo Presione una tecla para salir de este ejemplo de
[Link]
30pause>nul
31exit
32
33
34
35
36
37
38
39
40

😉
Te animo a que lo pruebes y te diviertas un rato modificándolo, échale imaginación, no

hay limite a lo que puedas hacer


Taller de sistemas operativos 1

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.
Taller de sistemas operativos 1

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

@echo off
title Prueba de color [Link]
color 70
echo.
echo Bienvenido a la prueba de color del cmd de [Link]
echo.
echo Pulsa una tecla para cambiaer al siguente color
pause>nul
color 4f
pause
exit

Prueba a cambiar los colores para entenderlo mejor.


Taller de sistemas operativos 1

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>[Link] 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
2echo pulsa una tecla para crear el archivo
3pause>nul
4echo hola, esto es un ejemplo de [Link] > [Link]
5echo archivo creado
6pause
7exit
Taller de sistemas operativos 1

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? > [Link], lo remplazaría, es decir,
pasaría a poner que tal? en la primera linea.
Pero si ponemos: echo que tal? >> [Link] 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
2echo hola > [Link]
3echo.
4echo Abre al archivo creado antes de continuar y mira lo que pone
5echo Cierra el archivo y continua
6echo.
7pause
8cls
9echo que tal? > [Link]
10echo.
11echo Fijate en el archivo creado, pondra que tal? "hola" se ha borrado.
12echo.
13pause
14exit
1@echo off
2echo hola > [Link]
3echo.
4echo Abre al archivo creado antes de continuar y mira lo que pone
5echo Cierra el archivo y continua
6echo.
7pause
Taller de sistemas operativos 1

cls
echo que tal? >> [Link]
echo.
echo Fijate en el archivo creado, "pondra que tal?" despues de hola, no
ha borrado nada.
echo.
pause
exit

8
9
10
11
12
13
14
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
Taller de sistemas operativos 1

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
2echo hola, esto es un ejemplo de [Link] > [Link]
3echo.
4echo abre al archivo creado antes de continuar y mira lo que pone
5echo cierra el archivo y continua
6echo.
7pause
8cls
9echo que tal? >> [Link]
10echo.
11echo fijate en el archivo creado, "pondra que tal?" despues de hola, no
12ha borrado nada.
13echo.
14pause
exit
Taller de sistemas operativos 1

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


comando del acordaos de especificar siempre la extensión.
1@echo off
2echo hola, esto es un ejemplo de [Link] > [Link]
3pause
4echo que tal? >> [Link]
5echo.
6echo El archivo se acreado
7echo.
8echo Ahora vamos a ejecutarlo (abrirlo)
9pause
10start [Link]
11cls
12echo.
13echo bien puedes cerrar el archivo por que vamos a borrarlo
14pause
15del [Link]
16cls
17echo.
18echo Archivo borrado con esto se puede borrar cualquier archivo, solo
19hay que saber el nombre 😀
20pause
exit
Taller de sistemas operativos 1

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
Se pueden utilizar varios en el mismo del
por ejemplo: del/f/p [Link]
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/[Link]

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
Taller de sistemas operativos 1

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
[Link] 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 más 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 tutorial de crear un minivirus pero de forma más
sencilla

un ejemplo
shutdown -s -t 60 (tiempo en segundos) -c virus intrusion
Taller de sistemas operativos 1

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.
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 [Link] de el directorio del
escritorio a mis documentos, pondremos: copy C:\Documents and Settings\
Propietario\Escritorio\[Link] «C:\Documents and Settings\Propietario\Mis
documentos\[Link]

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
Taller de sistemas operativos 1

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 el simbolo ? se usa igual que * pero sustituye a una única letra
ej: del pan?[Link] 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

Nota. -
TODOS los comandos mencionados aquí se pueden escribir directamente en la
ventana de terminal sin necesidad de crear un archivo bat.

También podría gustarte