Está en la página 1de 31

Es un archivo de procesamiento por lotes: se trata de archivos de texto sin formato, guardados con la extensin *.

bat que contienen un conjunto de comandos DOS. Cuando se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando DOS puede ser utilizado en un archivo batch. Hay que aclarar Batch que no es un Lenguaje de Programacin. Es un archivo de cdigo que contiene comandos del, Shell de Windows, llamado MS-DOS, que pueden ejecutar desde Inicio->Ejecutar->CMD. Hay dos maneras de ejecutar comandos Batch.

Desde el Shell de Windows. Escribindolos en un archivo de texto con extensin .bat y luego ejecutarlo.

Hola Mundo en Batch

Comenzaremos creando un Simple y clsico "Hola Mundo", escribiendo en un archivo de texto el siguiente cdigo. Cdigo : @echo off echo Hola Mundo pause exit Ahora guardemos el archivo como Nombre.bat y lo ejecutamos. Nos aparecer una pantalla negra que dir "Hola Mundo", luego una linea abajo dir "Presione una tecla para continuar" Explicamos: echo:

Imprime un texto en pantalla, que es el texto que viene despus (el que le pasamos como parmetro), que en este caso es "Hola Mundo". Echo significa eco, por lo mismo "@echo off" elimina el eco, la repeticin de la ruta en la que nos encontramos en cada lnea cdigo. pause:

Como bien se lee, pausa la ejecucin del cdigo. Adems muestra el texto "Presione una tecla para continuar" exit:

Cierra la ventana de comandos. Para dejar ms en claro cual sera la diferencia de no ocupar la linea @echo off la imagen de a continuacin muestra como se vera la pantalla sin esta linea.

Ahora aprenderemos algunas funciones de Batch: CD o CHDIR:

Si has trabajado en PHP, te sera fcil entender este concepto. Sirve para cambiar de Directorio o Mostrar el nombre del actual. Para usarlo, CD o CHDIR seguido de la ubicacin del directorio al cual nos moveremos. cd "C:\" chdir "C:\" Los ejemplos anteriores hacen exactamente lo mismo, cambian al Disco C COPY:

Sirve para copiar uno o ms archivos a otro destino. Su sintaxis es la siguiente: Copy "Direccin del archivo" "Nueva direccin" Ejemplo: Cdigo : Copy "C:\archivo.txt" "C:\archivo2.txt" Aqu copiaramos un archivo del Disco C llamado "archivo.txt" como "archivo2.txt" Para acortar un poco podramos usar: Cdigo : cd "C:\" Copy "archivo.txt" "archivo2.txt" Donde primero cambiamos de directorio al Disco C con cd "C:\" y luego al copiar no tenemos que especificar que esta en el Disco C ya que ya nos encontramos en el. DEL:

Sirve para eliminar uno o ms archivos. Su sintaxis es: Del "ARCHIVO" Tambin se puede aadir: del /f /q "archivo" Donde no pide confirmacin de eliminacin (/q) y fuerza al archivo a borrarse ( /f ) Move:

Sirve para mover un archivo. Su sintaxis es: Move "Direccin Archivo" "Nueva Direccin"

Cls:

Sirve para limpiar el contenido de la pantalla: Ejemplo: Cdigo : @echo off echo Hola, Cuando pulses la tecla se borrara el contenido y cambiara por otro. pause cls echo Ves? pause exit

Si quisiramos averiguar ms sobre las funciones, o conocer algunas nuevas por nuestra propia cuenta podemos escribir en el Shell el nombre del comando seguido de /? y aparecer toda la informacin necesaria. Podemos poner en prctica esto de la siguiente manera:

Abramos el Shell de windows: Inicio->Ejecutar-CMD

Una vez abierto escribamos: Cdigo : echo off

Para eliminar el eco.

Luego para borrar el contenido de pantalla escribe: Cdigo : cls

Ahora veamos la ayuda de la funcin Copy:

Cdigo : copy /?

Cerremos la ventana: Cdigo : exit

Ahora vamos a crear un Batch que copie un archivo, luego lo mueva a otro directorio, borre el original y vuelva a copiar el copiado. En la carpeta donde crears el archivo .bat crea un archivo de texto llamado copiame.txt. En l, escribe lo que quieras. Este ser el archivo que copiaremos. Ahora el Batch: Cdigo : @echo off echo Hola, Copiaremos un archivo pause copy "copiame.txt" "copiado.txt" move "copiado.txt" "C:\copiado.txt" del "copiame.txt" cd "C:\" copy "copiado.txt" "copiado2.txt" exit Gurdalo en la carpeta como NombreQueTuQuieras.bat, y ejectalo. Lo que ha hecho la cadena de instrucciones es ms o menos lo siguiente: Primero apagamos el eco, luego imprimimos en pantalla "Hola, Copiaremos un archivo" Pausamos el intrprete para que no siga de largo. A continuacin, copiamos el archivo "Copiame.txt" y su copia se llamar "copiado.txt". La movemos a la carpeta raz del disco C, y eliminamos el original. Por ultimo cambiamos de directorio al disco C, copiamos la copia y cerramos el Batch. Despus de que ejecutemos el Batch, si vamos al Disco C, veremos que hay dos nuevos archivos de texto: uno llamado copiado.txt y otro copiado2.txt. Tambin si vamos a la carpeta del Batch, veremos no est el archivo de texto original, "copiame.txt". Creacin de nuevos archivos:

Con Batch podemos crear otros archivos. Para ello, tenemos que escribir algo como esto: Cdigo : echo TEXTO DE PRIMERA LINEA > nombre.extensin echo TEXTO SEGUNDA LINEA >> nombre.extensin echo TEXTO SIGUIENTE LINEA >> nombre.extensin

Al escribir echo seguido de un texto y el signo > creamos un archivo con el nombre que siga. Si ocupamos un echo seguido de un texto y el doble signo > (>>) se escribir en la siguiente linea vaca del archivo que prosiga. Hagamos la prueba: Cdigo : echo Creando un Archivo de texto > nuevo.txt

echo Esta es la Segunda linea >> nuevo.txt echo Y esta es la Siguiente >> nuevo.txt echo Esto esta genial >> nuevo.txt

Si ejecutamos eso, la pantalla negra se abrir y cerrar. Pero en la carpeta en la que est nuestro batch se abra creado un nuevo archivo "nuevo.txt" que si lo abrimos, dentro estar escrito lo que especificamos. Personalizando el SHELL

Seguro que no te gusta mucho el aspecto del Shell. Aqu veremos como personalizarlo un poco. COLOR:

Con la funcin color podemos cambiar los colores de fondo y las letras. Siendo su sintaxis: COLOR AB Donde A= El color de el Fondo y B= Color de las letras. Para ver todos los colores ve el MS-Dos y escribe color/? TITLE:

Para cambiar el ttulo de la barra de tareas solo escribe: Title Loquequierascomotitulo Pause Personalizado:

No te gusta que al poner pause salga "Presione una tecla para continuar..."? Pues si escribes "pause>nul" no aparecer ni un texto. Entonces si anteponemos un mensaje, quedara as. Cdigo : echo Aprieta cualquier tecla para seguir pause>nul

Adems puedes jugar con los caracteres. Aqu un ejemplo, donde cambi los colores y jugu con los caracteres y personalic el pause:

El cdigo que emple para esto fue: Cdigo :

@echo off color 30 echo ================================== echo = = echo = Personalizado = echo = = echo ================================== echo. echo. echo Esto esta personalizado, para salir presiona una tecla. pause>nul exit

Cabe mencionar que echo. (Echo seguido de un punto)sirve para saltarse una lnea. Matando Procesos:

Alguna vez has presionado CTRL+ALT+DELETE? Si lo haces se abre el Administrador de tarea. En la pestaa procesos salen algunos procesos que estn andando en tu pc, hacindoles clics y apretando "terminar proceso" lo puedes acabar. Con batch eso es muy fcil, se usa la funcin: Taskkill (No funciona en todos los pc, para ver si esta disponible escribe taskkill/?) Su sintaxis es: Cdigo : taskkill /f /im proceso.exe

/f Fuerza el trmino del proceso. Un ejemplo seria escribir. Cdigo : taskkill /f /im wmplayer.exe Si lo ejecutas y tienes el Reproductor de Windows Media abierto, este se cerrar. ABRIENDO PROCESOS:

Ahora abramos ese proceso que cerramos. Para abrir procesos se usa la funcin Start que funciona as: Cdigo : start proceso.exe Tambin puedes abrir paginas web con tu explorador predeterminado. Ejemplo1:

Cdigo : start wmplayer.exe Se abrir el Reproductor de Msica Ejemplo2:

Cdigo : start www.google.cl Se abrir tu Explorador de Internet en Google. VARIABLES:

Ahora aprendamos a declarar variables. Para crear una se escribe: Cdigo : set NOMBREVARIABLE = VALOR Para llamarla debemos escribir su nombre entre los signos %% Ejemplo: Cdigo : @echo off set Nombre= Javier Letelier Ruiz echo %Nombre% pause La pantalla nos mostrara algo as:

Para cambiar el valor solo debemos hacer esto: Cdigo : set Nombre= Nuevo Valor Si quieres que tu Variable sea dinmica, osea que el Usuario la elija antepones /p: Cdigo : set /p Nombre=Escriba su Nombre: Donde el Batch se pausara solo mostrando el Mensaje que va luego de "=" dejando que se escriba algo. Tambin podemos multiplicarlas, sumarlas, etc... con /a: Cdigo : set numero1=2 ser numero2=43 set /a suma= %numero1% + %numero2% echo %suma% pause exit

Si ejecutamos este, nos devolver la suma de 2 + 43, 45. Creo que con esto ser suficiente. Ojal hayan entendido y les haya interesado el batch, que principalmente se puede usar para facilitar algunas tareas de Windows, ya que como veremos en la segunda parte del tip se pueden lograr cosas bastante interesantes.

1. Introduccin Las siglas BAT caractersticas de los guiones en entorno MSDOS provienen del hecho de que son procesos BATCH. En Msdos los nombres de los archivos podan tener hasta 8 letras para el nombre y tres letras para la extensin. Dado que solo se dispona de tres letras para identificar la clase de archivo se opt por poner BAT (aunque a partir de Windows 2000 tambin se puede usar CMD). Los proceso batch son nativos de MVS/DOS y VSE/DOS que suelen funcionar con JCL. RPG es un lenguaje basado ntegramente en la metodologa batch. Desde entonces cada sistema operativo que ha salido ha includo un sistema de scripting. Los grandes sistemas se quedaron con JCL/JOBS mientras que la aparicin de UNIX, MINIX y dems empezaron a utilizar una shell diferente y mas interactiva con un espacio de consola para los usuarios y un lenguaje apropiado para administrar la estacin (esto no era necesario en MVS o VSE porque el usuario actuaba sobre pantallas tontas 3270) Se llam shell y se conoce habitualmente como sh. Posteriormente salieron otras entre las cuales est bourne shell again conocida como bash. Microsoft hizo una para su sistema operativo que copi descaradamente de bash. Invirti la barra para identificar el path correcto a un archivo y adapt el lenguaje a un sistema operativo monousuario e incapaz de trabajar en red. Este es el lenguaje BAT. Con los aos microsoft se ha visto obligado a modificarlo considerablemente (sobre todo los comandos de entorno de red) dadas las muchas limitaciones que tena. An hoy es increblemente pobre en comparacin con las de otros sistemas operativos. El lenguaje bat es un complemento en windows y no una parte fundamental como en los dems. Volver al men 2. Qu se puede hacer con ellos? Pues se puede hacer de forma automatizada todo aquello que se pueda hacer en la consola de msdos. Se pueden ejecutar programas, enviar y recibir parmetros y automatizar tareas Volver al men 3. Creacin de un programa.BAT Pues son texto plano. Quiere eso decir que se pueden escribir en el block de notas, utilidad Edit de msdos o algn editor ascii.

Al guardarlos deben tener la notacin de nombres propia de msdos. Esto es un nombre con mximo 8 letras (espacios y \ no permitidos), luego un punto y la extensin que en este caso es obligatoriamente BAT (para compatibilidad con todas las versiones windows) o CMD (a partir de Windows 2000). Para crearlos desde la misma consola puedo utilizar varios sistemas Mediante la orden COPY
copy con: nombre_de_archivo.bat ... ... comandos ... ... Ctrl + Z Fin y grabacin del archivo en el directorio actual rdenes a ejecutar Orden de creacin de archivo con el nombre 'nombre_de_archivo.bat'

Mtodo 2 mediante la redireccin


echo 1 lnea a insertar >nombre_de_archivo.bat echo restantes lneas >>nombre_de_archivo.bat echo restantes lneas >>nombre_de_archivo.bat Se graba el fichero 'nombre_de_archivo.bat con la primera orden a ejecutar Se aade la segunda orden

Se aade la tercera orden ...

En cualquier caso para modificarlos podemos utilizar la utilidad Edit de msdos (abriendo el archivo concreto y luego grabando los cambios) o el block de notas. Volver al men 4. Redireccin de entrada/salida

Pues al igual que en unix se puede hacer que la salida de un comando sirva como entrada de otro. Cada proceso tiene ya predeterminados sus dispositivos de entrada y salida. Mediante la redireccin podemos cambiar eso.
DISPOSITIVO CON PRN LPT1 COM1 COM2 SALIDA Salida por la pantalla Salida por la impresora por defecto Salida por la 1 impresora en paralelo Salida por el primer puerto serie Salida por el segundo puerto serie

As, si ejecuto la orden 'dir' la orden saldr en su dispositivo por defecto (CON) y ver el resultado por pantalla Para redireccionar se utilizan los operadores < y > que sirven para indicar que salida debe ir a que lugar Por ejemplo si yo quiero redireccionar la salida estandar de dir para que en vez de ir a la pantalla vaya a la impresora har
dir >prn

Con lo que la salida natural del comando DIR en vez de ir a su sitio natural (la pantalla) ir a la impresora por defecto. Volver al men 5. Filtros Los filtros son rdenes que sirven para formatear la salida del comando de acuerdo a nuestros intereses. Se utilizan mediante la barra vertical (Alt 124). El filtro SORT sirve para ordenar la salida
DIR | SORT

El filtro MORE sirve para pausar la salida cada pantalla para que pueda ver todos los datos de salida con tranquilidad. Pasa de pantalla a pantalla al pulsar una tecla.

DIR | MORE

6. Mscaras y comodines Para seleccionar varios archivos a la hora de realizar una determinada operacin existe la posibilidad de utilizar mscaras. Estas mscaras utilizan los caracteres comodines para describir que archivos deben verse afectados. Para ello y teniendo en cuenta que los nombres de los archivos deben cumplir la notacin de msdos (8 letras sin espacios como mximo, luego un punto y tres letras como mximo de extensin) se pueden utilizar los llamados comodines.
* ? Equivale a varios caracteres equivale a un solo caracter.

Ejemplos
*.cfg a*.cfg a*b.cfg seleccionar todos los archivos que tengan la extensin cfg seleccionar todos los archivos que comienzen por a y tengan la extensin cfg seleccionar todos los archivos que comienzen por a, acaben por b y tengan la extensin cfg

*asa*.cfgseleccionar todos los archivos que contengan 'asa' y tengan la extensin cfg c?asa.cfg seleccionar todos los archivos que contengan una C, luego un caracter cualquiera y luego 'asa'. Debe tener tambin la extensin cfg seleccionar todos los archivos que empiezen por c, tengan un caracter cualquiera, luego una b y cualquier extensin seleccionar todos los archivos que tengan una extensin que empieze por b, luego un caracter cualquiera y luego una t.

c?b*.*

*.b?t

Volver al men 7. Trayectos (paths) La trayectoria es el nombre completo de un archivo e indica la situacin exacta de un archivo y su nombre.
leeme.txt el archivo se llama indico su nombre, pero nada mas. Se da por supuesto que se encuentra en el directorio actual.

c:\leeme.txtel archivo que me interesa se llama leeme.txt y se encuentra en el directorio raz de C.

Dado que en msdos no se admiten nombres largos (mas de 8 letras) ni espacios, cuando quiero utilizar un nombre de windows en msdos debo saber que este ser reconvertido a su nombre corto. Este se obtiene aadiendo los seis primeros carcteres vlidos del nombre, luego el signo ~ (alt 126) y luego un nmero. De esta forma un archivo que se encuentre en Mis documentos en win98 tendr el path
c:\misdoc~1\leeme.txt

Y en Windows 2000/XP
c:\Docume~1\Usuario\misdoc~1\leeme.txt

Tambin se pueden utilizar (mientras las comillas para delimitar el nombre


"c:\Mis Documentos\leeme.txt"

Esta sera la trayectoria de mimusica.mp3 (en Mis Documentos en Win 98)


c:\misdoc~1\mi~1\mimusica.mp3 Qu equivale a "c:\Mis Documentos\Mi Msica\mimusica.mp3"

Volver al men 8. Unidades Lgicas Siempre es una letra seguida del signo dos puntos. A: = disquetera B: = reservada para segunda disquetera C: = primera particin (normalmente es la que arranca) D: = segunda particin (generalmente el cdrom) Por eso si se crea una unidad lgica mediante netbios en windows, esta puede tener un nombre msdos para poder acceder a ella desde la consola. La letra que se asigne no puede corresponder a una unidad lgica existente. Volver al men 9. Comandos MSDOS

Los comandos en msdos tienen las siguientes caractersticas: a) el formato general es COMANDO [OPCIONES] [ARGUMENTOS] b) Da igual que se usen maysculas o minsculas c) Los argumentos y opciones se separan por espacios Volver al men 9.1 Comandos bsicos de consola 9.1.1 CLS Borra la pantalla 9.1.2 Echo [parmetros] Tiene varias posibilidades:

ECHO sin parmetros saca el estado en que se encuentra la variable echo (on u off) ECHO ON activa el echo (como en un terminal TTY) por lo que los comandos se vern en pantalla y luego su resultado ECHO OFF desactiva el comando echo y ya se vern los resultados de la ejecucin del comando, pero no el comando en s mismo ECHO LITERAL saca por pantalla el literal. Por eso al hacer echo literal >fichero.bat estamos redirigiendo la salida de echo literal (que tendra que salir por la pantalla) al archivo fichero.bat.

9.1.3 Pause [mensaje] Sirve para sacar un mensaje y parar la ejecucin hasta que se pulse una tecla 9.1.4 Prompt [parmetros] Sirve para cambiar el prompt de msdos.
$p Mostrar el trayecto actual $g Mostrar el separador > $l Mostrar el separador < $b Mostrar el separador | $q Mostrar el separador =

$$ Mostrar el separador $ $t Mostrar la hora $d Mostrar la fecha $v Mostrar la versin del sistema $n Mostrar la unidad actual $h Retroceso. Borra el caracter previo $e Escape. Muestra el caracter \ $_ Retorno de carro y salto de lnea (equivale a chr 10 y chr 13 ascii

Por eso si ponemos prompt $p$g el cursor muestra la trayectoria donde estamos y luego el separador Es posible aadir texto (por ejemplo prompt Mi_nombre $p$g 9.1.5 Date [fecha] Ver/poner la fecha del sistema 9.1.6 Time [hora] Ver/poner hora del sistema 9.1.7 Ver Versin del sistema 9.1.8 Vol [Unidad] Volumen de la unidad especificada. 9.1.9 Path [trayecto] Indica un trayecto por defecto si se produce una peticin de un archivo que no est en el directorio actual. Por eso en windows 98 suele haber una lnea en autoexec.bat que es
path c:\windows; c:\windows\command que indica que si se solicita un ejecutable que no est en el directorio actual, lo busque primero en la carpeta windows y luego en la subcarpeta command.

En Windows 2000 y XP no se utiliza autoexec.bat pero se existe una variable del sistema llamada PATH. 9.1.10 KEYB cdigo_pais,juego_de_caracteres,definicin_de_teclado, El cdigo de pas de espaa es el 'sp' El juego de caracteres aplicable a espaa es el 850 437 El archivo de definicin de teclado es keyboard.sys Para configurar un teclado en espaol
keyb sp,,c:\windows\command\keyboard.sys

9.1.11 SYS [unidad] Transfiere el sistema operativo msdos a la unidad especificada. 9.1.12 DOSKEY Muestra los comando utiliados anteriormente al pulsar la tecla arriba del teclado. 9.1.13 MEM [parmetros] Muestra la memoria usada y libre en el sistema
/p /d /c Muestra por programas por programas y controladores por tamao

Volver al men 9.2 Comandos de manejo de archivos 9.2.1 COPY [opciones] [origen] [destino] Sirve para copiar archivos de un lugar a otro. el origen debe ser un trayecto completo de donde estn los archivos a copiar. Si se omite se entiende que en el directorio actual. El destino debe ser una trayectoria completa de donde dejar el/los archivo(s)
copy miarchivo.txt c:\ copiarlo al directorio raz de C copy miarchivo.txt c:\miarch.txt copiarlo y adems cambiarle el nombre a miarch.tx

copy *.txt a:\ copy *.txt c:\misdoc~1

copiar todos los archivos que tengan la extensin txt a la unidad A copiar todos los archivos que tengan la extensin txt al directorio Mis documentos (cuyo nombre corto es misdoc~1).

Tambin se pueden concatenar archivos


copy archivo1.txt+archivo2.txt c:\archivo3.txt Unir archivo1.txt y archivo2.txt y dejarlo en archivo3.txt en C:\

Las opciones son


/A Tratar el archivo como un archivo ASCII /B Tratar el archivo como un archivo binario /D Permite que el archivo destino se grabe descifrado /V Verifica la copia /N Al copiar usa el nombre corto en vez del nombre largo /Y Suprime la pregunta de confirmacin si se va a sobreescribir algn archivo /Z Copia archivos de red en modo reiniciable /S Copia subdirectorios /E Crea subdirectorios en el destino aunque los subdirectorios originales estn vacos.

Se pueden guardar estos valores por omisin en la variable de entorno COPYCMD (solo a partir de Windows 2000). 9.2.2 DEL [opciones] [archivo] Borra archivos
/P Pide confirmacin en cada caso /F Modo force. Borra incluso los archivos de solo lectura /S Borra tambin los subdirectorios. /Q Modo silencioso. No pide confirmacin en ningn caso

9.2.3 MKDIR o MD [directorio] Crear directorio 9.2.4 RMDIR o RD [directorio] Borra un directorio. El directorio debe estar vaco 9.2.5 CHDIR o CD [path] Cambia al directorio indicado.
CD "c:\archivos de programa" CD .. CD \ Trasladarse al directorio Archivos de programa Trasladarse al directorio superior Trasladarse al raz

9.2.6 DIR [opciones][trayecto] Saca una lista del contenido del directorio especificado en el trayecto. Si no se especifica nada, se entiende el actual. Si se pone como parmetro /W saca un listado resumido. Si se pone como parmetro /P saca un listado utilizando el filtro more. 9.2.7 ATTRIB [/S] [archivo] Muestra los atributos de los archivos indicados y en su caso permite cambiarlos. Con el parmetro /S busca tambin en subdirectorios. Los atributos son: H -> oculto. Se activa con +h y desactiva con -h R -> Lectura. Solo lectura con +r, normal con -r S -> Sistema. Se activa con +s y desactiva con -s A -> Modificado. Para copias de seguridad incrementales. +a indica modificado y -a indica no modificado.
ATTRIB archivo.txt ATTRIB -r archivo.txt Muestra los atributos de ese archivo Pone el atributo solo lectura a archivo.txt

Attrib miarchivo.txt (mostrar los atributos de miarchivo.txt)

attrib *.exe +r +r +s (pone a todos los archivos con extensin exe como ocultos, del sistema y read only) 9.2.8 RENAME o REN [Nombre_antiguo] [Nombre_nuevo] Renombra un archivo. Si se ponen mltiples archivos todos se renombran mediante la misma regla
REN *.txt *.bak Renombra todos los archivos TXT a BAK

9.2.9 TYPE fichero Muestra el fichero. Se suele utilizar con el filtro MORE si se desea que se vea paginado
type archivo.txt | more

o bien con redireccin a la impresora para imprimirlo


type archivo >prn

Volver al men 9.3 Comandos de disco 9.3.1 Diskcopy [origen] [destino] Copia un disquete completo de origen a destino
diskcopy a: a: diskcopy a: b: copia un disquete de unidad A a la unidad A copia un disquete de unidad A a la unidad B

9.3.2 Fdisk [/mbr] Utilidad para gestionar las particiones de un disco. Con el parmetro /mbr se puede borrar el mbr (Master Boot Record) de un disco 9.3.3 Format [/s] [/a] Formatear disquetes.

Con el parmetro /s se transfiere adems el sistema operativo (vlido para win98 y anteriores) Con el parmetro /a se realiza un formateo rpido. 9.3.4 label [unidad][etiqueta] Poner etiqueta a un volumen
label a: copia label c: DiscoDuro Poner etiqueta copia en el disquete Poner etiqueta DiscoDuro al disco duro

9.3.5 Mscdex [/d:montaje] Monta un cdrom o dvd ya configurado mediante un driver de dispositivo. El punto de montaje es el especificado en config.sys en el driver de dispositivo. Vlido en Win98 y anteriores 9.3.6 Scandisk [unidad] [/autofix] [/scanonly] [/surface] Comprueba la integridad de un disco en Windows 98 y anteriores. Con el parmetro autofix repara automticamente los errores encontrados. Con el parmetro scanonly solo comprueba el disco y muestra estadsticas Con el parmetro Surface realiza una comprobacin de superficio del disco Volver al men 9.4 Comandos de red 9.4.1 ARP [opciones] Ver/Modificar la tabla de ARP.
arp -a apr -s IP mac Muestra la tabla de arp Agrega una entrada a la tabla de arp

9.4.2 FTP Cliente ftp de windows

9.4.3 IPCONFIG [Parmetros] Mostrar los parmetros de conexin tcp/ip


ipconfig /all /release adaptador /renew adaptador /flushdns /registerdns /displaydns muestra toda la informacin de configuracin libera la ip del adaptador especificado renueva la ip para el adaptador especificado purga la cach de resolucin de dns actualiza las conexiones dhcp y vuelve a registrar los nombres dns muestra el contenido de la cache de resolucin dns

9.4.4 NBTSTAT [opciones] Hace un estado de la red por netbios


nbtstat -a nbtstat -A nbtstat -c nbtstat -n nbtstat -r nbtstat -R nbtstat -S nbtstat -s Lista la tabla de nombres por nombre Lista la tabla de nombres por IP Lista la cach nbt mostrando nombres y direcciones IP Lista los nombres netbios locales Lista de nombres resueltos por difusin y WINS Purgar y recargar la cache nbt Lista las sesiones con las IP de los destinos Lista las sesiones con los nombres de los destinos

9.4.5 Net [opciones] Conmando para acceder a dominios, crear/quitar sesiones netbios, montar unidades netbios, ... Algunos comandos tambin funcionan en win9X, pero a partir de Win2k se aadieron muchos parmetros nuevos. Tiene muchas posibilidades y se usa siempre con parmetros. Los parmetros son:

Servicios net start X net stop X net config server Inicia el servicio X Termna el servicio X Muestra/modifica servicios. /hidden=yes/no indica si el servidor debe mostrarse en la lista de ordenadores. Se corresponde con el comando Samba 'browseable' /autodisconnect:X minutos antes de que se desconecte un usuario del servidor net pause X Detiene el servicio X

net continue X Reanuda el servicio X

Recursos net view X /domain: Y mostrar dominios enteros o recursos en un equipo /Domain: y -> muestra equipos en el dominio X es el servidor que se desea ver (\\X) net print impresora Permite ver/modificar la cola de impresin /hold:x -> no imprimir el trabajo X /release:x -> reanudar trabajo X net share Mostrar/modificar recursos compartidos

net use nombre Crear una conexin de red \\recurso

Usuarios net group x Aadir/ver/modificar grupos de usuarios en un dominio /Domain:x -> nombre del dominio

/add x -> aadir un grupo nuevo net user usuario Aadir/ver/modificar usuarios en un dominio clave /domain:nombre -> nombre del dominio /add x -> agregar usuario al dominio Si en clave se pone * se indica ue hay que preguntar cada vez /delete -> borrar usuario net accounts Muestra/modifica la cuenta de un usuario /minpwlen:x -> longitud mnima de password uniquepw:x -> solo se puede usar la clave x veces. Luego hay que cambiar /domain: nombre -> nombre del dominio /sync -> sincronizar los cambios en los servidores BDC

Comunicaciones net send x y Enviar mensaye Y a usuario/ordenador X Si nombre es * se enva a todos los miembros del grupo/dominio /domain: nombre -> nombre del dominio

9.4.6 Netstat [opciones] Comando para comprobar el estado actual de la red


netstat -a netstat -n netstat -r netstat -s netstat -p tcp/udp Mostrar todos los puetos y conexiones Mostrar nmero de puerto y direcciones Mostrar la tabla de rutas Mostar estadsticas por protocolo Mostrar las conexiones activas TCP o UDP

9.4.7 Nslookup[opciones]

Utilidad para interrogar dns 9.4.8 Ping [opciones] Enviar paquetes icmp a un determinado destino.
ping -t ping -a ping -n numero ping -l tamao ping al host hasta que se pare resolver direcciones en nombres de host Nmero de peticiones a enviar tamao del buffer

9.4.9 Telnet [host] [puerto] Inicia una sesin telnet al host especificado en el puerto especificado. Si el puerto se omite se usa el 23. 9.4.10 Tracert [destino] Tracear el destino hasta llegar a la ruta indicada. Volver al men 9.5 Comandos de programacin 9.5.1 Edit [archivo] Editor de textos (equivalente al bloc de notas) 9.5.2 Debug [archivo] [opciones] Inicia el desensamblador con el programa indicado. 9.5.3 choice [texto] [opciones] Se utiliza en programas bat para dar a elegir a un usuario entre un conjunto de opciones La respuesta se devuelve mediante la variable errorlevel Mostrar el literal "elija una opcin y dar a elegir s (s), n (no) o C (continuar). las tres siguientes lneas especifican a donde debe saltar el flujo del programa segn la tecla pulsada.
choice Elija una opcin snc Mostrar el texto y las opciones (S, N, C)

if errorlevel 1 goto ... if errorlevel 2 goto ... if errorlevel 3 goto ...

si se ha pulsado S si se ha pulsado N si se ha pulsado C

9.5.4 If [condicion] [comando] Sirve para hacer bifurcaciones en el cdigo. Admite 6 sintaxis distintas:
if exist fichero orden if not exist fichero if cadena1==cadena2 orden if not cadena1 == cadena2 orden if errorlevel numero orden si existe 'fichero' ejecutar la orden si no existe fichero ejecuar la orden comparar cadena1 y cadena2 si son distintos si el comando anterior acab con un errorlevel igual o superior a numero ejecutar orden si el comando anterior acab con un errorlevel inferior a numero ejecutar orden

if not errorleven numero orden

9.5.4 for El formato general es


for %%variable in lista do ( orden 1 orden 2 orden 3 )

La variable siempre lleva dos veces el signo % Ejemplo


FOR %%x IN (texto1.txt texto2.txt texto3.txt) do delete %%i

Esta orden hara lo siguiente: repetira 3 veces la orden delete. En cada vez %%i valdra cada valor de la lista de manera que la primera vez sera texto1.txt, la segunda vez texto2.txt y la tercera vez texto3.txt. As esta orden hara: DELETE TEXTO1.TXT DELETE TEXTO2.TXT DELETE TEXTO3.TXT Volver al men 10 Variables de entorno
set variable=valor SET /n variable = valor1 + valor2 + valor3 Declarar una variable de tipo string y le da un valor Declara una variable de tipo numrico cuyo valor es la suma de valor1+valor2+valor3

Tambin hay algunas variables que ya vienen declaradas como la variable PATH, OS, por ejemplo. Estas variables que ya vienen declaradas puedes verlas en propiedades de mi pc, avanzado, variables de entorno y estn a tu disposicin en ficheros por lotes (bat) Para referirte a cualquiera de estas variables las pones entre los signos % As para saber saber si tu sistema operativo es win98 haces
IF %os% == WINDOWS98 ECHO ES WINDOWS 98

Volver al men 11. Etiquetas Se pueden definir etiquetas que se utilizarn para saltar a ellas cuando se cumpla una condicin. Para definir una etiqueta pones una lnea que empiece por : y luego el nombre de la etiqueta Por ejemplo:
ORDEN 1 ORDEN 2 if %os% == Winnt goto winnt Si el sistema operativo es NT ir a etiqueta winnt ORDEN 3 goto fin esta lnea se ejecuta si no es winnt

:winnt ORDEN 4 :fin

etiqueta esta lnea se ejecuta si es NT etiqueta

Volver al men 12. Parmetros reemplazables A menudo en este tipo de archivos tu quieres poder pasarle parmetros. Estos parmetros sirven para que el script haga una cosa u otra en funcin del parmetro que le pasas. Por ejemplo si tienes un archivo bat cuyo nombre es AVERIGUARSISTEMAOPERATIVO.BAT tu puedes hacer lo siguiente: AVERIGUARSISTEMAOPERATIVO windows98 AVERIGUARSISTEMAOPERATIVO win2000 AVERIGUARSISTEMAOPERATIVO winxp En los tres casos llamas al mismo script AVERIGUARSISTEMAOPERATIVO, pero en cada caso le pasas un parmetro diferente. En el primero le pasas windows98, en el segundo le pasas win2000 y en el tercero le pasas winxp. Para referirte al parmetro en el cdigo debes saber que el sistema les asigna nombre de forma automtica. l primero le llama %1, al segundo %2, al tercero %3, ..., al mil %1000 As yo podra tener un archivo bat llamado AVERIGUARSISTEMAOPERATIVO.BAT que me confirma si mi sistema operativo es el que yo creo. Su cdigo sera:
if %os%==%1 goto correcto echo el sistema operativo NO es %1 goto fin :correcto etiqueta si el sistema operativo (%os%) es igual al primer parmetro (%1) ir a etiqueta correcto poner el mensaje de que no es

echo el sistema operativo SI poner el mensaje de que si es es %1 :fin

Volver al men 13. Acceso al registro

13.1 Reg [operacion] [parametros] Operacion puede ser


REG QUERY clave [/v nvalor | /ve] [/s] #Consultar una clave o subclave Clave = \equipo\lclave #si se omite equipo se usa el equipo local. En equipos remotos solo disponibles HKLM y HKU /v = consulta para una clave de registro especfica /ve = consulta el valor predeterminado /s = consultar todos los valores/subclaves SAVE SAVE clave archivo #guarda en un archivo un arbol del registro. Clave=ClaveRaiz\SubClave SubClave=nombre completo de la subclave Archivo = Nombre del archivo para guardar COMPARE clave1 clave2 [/v valor | /ve] [salida] [/s] #compara dos subclaves o rboles de registro Clave = \\equipo\ClaveRaiz\SubClave ClaveRaiz=HKLM, HKCU, HKCR, HKU, HKCC ClaveRaiz=HKLM, HKCU, HKCR, HKU, HKCC

Valor = nombre del valor para comparar en la clave seleccionada (si se omite se comparan todos) /ve = Comparar el nombre de valor vaco /s = comparar todas las subclaves y valores salida [/oa | od | os | on] #oa=devuelve todas las coincidencias y diferencias, od=solo diferencias, os=solo coincidencias, on=nada ADD Clave [/v nvalor | /ve] [/t tipo] [/s separador] [/d datos] [/f] #agregar una subclave al registro Clave = \\equipo\ClaveRaiz\SubClave /v = Nombre del valor a agregar /ve = agrega el valor vaco (sin ClaveRaiz=HKLM, HKCU, HKCR, HKU, HKCC

nombre) /t = REG_SZ, REG_MULTI_SZ, REG_DWORD_BIG_ENDIAN, REG_DWORD, REG_BINARY, REG_DWORD_LITTLE_ENDIAN, REG_NONE, REG_EXPAND_SZ (si se omite se asume REG_SZ) /s = caracter. (si se omite se asume \0) /d = datos que se agregan al valor a insertar /f = fuerza la sobreescritura sin avisar LOAD clave archivo #carga un archivo en un rbol Clave =ClaveRaiz\SubClave Archivo: creado con reg save EXPORT clave archivo # exportar subclaves y valores Clave =ClaveRaiz\SubClave Archivo: archivo donde exportar DELETE clave [/v nvalor | ve] [/va] [/f] #borrar un arbol del registro Clave =ClaveRaiz\SubClave ClaveRaiz=HKLM, HKCU, HKCR, HKU, HKCC ClaveRaiz=HKLM, HKCU, HKCR, HKU, HKCC ClaveRaiz=HKLM, HKCU (solo para equipo local)

nvalor: nombre de valor a borrar. Si se omite se borrarn todas las subclaves y valores /ve elimina el valor de un nombre de valor vaco /va elimina todos los valores en la clave actual /f fuerza la eliminacin sin avisar UNLOAD clave #descargar un arbol del registro Clave =ClaveRaiz\SubClave IMPORT archivo ClaveRaiz=HKLM, HKCU (solo para equipo local)

Importa un arbol al registro. El archivo debe haber sido creado con export

archivo = archivo.reg (solo equipo local) COPY clave1 clave2 [/s] [/f] #copia una clave en el registro Clave =ClaveRaiz\SubClave /s = copia todas las subclaves y valores /f = fuerza la copia sin avisar RESTORE clave archivo Clave =ClaveRaiz\SubClave Archivo: Nombre del archivo a restaurar ClaveRaiz=HKLM, HKCU, HKCR, HKU, HKCC Este archivo debe haber sido creado con reg save ClaveRaiz=HKLM, HKCU, HKCR, HKU, HKCC

Ejemplos Mostrar el valor de versin del registro


reg query HKLM\Software\Microsoft\Rest /v Version

Mostrar todas las subclaves y valores en la clave de registro Setup


reg query HKLM\Software\Microsoft\Rest\Setup /s

Guardar el subarbol MiAp en el archivo CopiAp.hiv en la carpeta actual


reg save hklm\Software\Mico\MiAp CopiaAp.hiv

Comparar los valores de MiAp con los de GuardaMiAp


reg compare khlm\softare\Mico\Miap HKLM\Software\Mico\GuardaMiAp

Agregar una clave Mico en el equipo remoto ABC


reg add \\abc\HKLM\Software\Mico

Agregar un valor 'datos' de tipo REG_BINARY y contenido 'fe340ead'

reg add HKLM\Software\Mico /v datos /t REG_BINARY /d fe340ead

Cargar el archivo CopiaAp.hiv en MiAp


reg load hklm\Software\Mico\MiAp CopiaAp.hiv

Exportar todas las subclaves de la clave MiAp a CopiaAp.REG


reg export HKLM\Software\Mico\MiAp CopiaAp.reg

Eliminar el contenido de TIMEOUT y todas sus subclaves y valores


reg delete hklm\Software\Mico\MiAlp\Timeout

Descargar el arbol MiAlp del registro


reg unload /hklm\software\Mico\MiAp

Importar el archivoCopiaAp.reg
reg import CopiaAp.reg

Copia todas las subclaves y valores de MiAp a GuardaMiAp


reg copy hklm\software\mico\MiAp hklm\Software\Mico1

Copiar todos los valores de la clave Mico en otro equipo al equipo actual
reg copy \\equipo\hklm\softwaer\Mico hklm\software\mico1

Restaurar el archivo CopiaAp.hiv sobreescribiendo la clave 'datos'


reg restore hklm\software\mico\MiAp\Datos CopiaAp.hiv

Volver al men 14 Enviar por ftp de forma automtica (cortesa de rkk) @echo off rem Inicia sesion en el servidor FTP

ftp -s:Coman.txt 124.102.23.5 en la ultima linea estoy indicando con el -s:Coman.txt el nombre del archivo donde se encuentran guardados los comandos que va a ejecutar el ftp seguido de la direccion ip a la que me voy a conectar; dentro del archivo Coman.txt tengo el nombre del usuario, la contrasea y los comandos que se van a ejecutar: Ejemplo: Marco 12345 binary hash bye

También podría gustarte