Sie sind auf Seite 1von 19

S.O.

Sistemas Operativos

Guido Ros Ciaffaroni


guido.rios@circum.cl
ww.guidorios.cl
BATCH
GOTO

Desva incondicionalmente el desarrollo de un programa.

Normalmente un fichero por lotes se desarrolla


secuencialmente, desde la primera lnea hasta la ltima.
Sin embargo, la orden Goto permite desviar la ejecucin
del programa hasta una etiqueta especificada como
parmetro.

GOTO [:]etiqueta

Las etiquetas deben ir precedidas de dos puntos (:) para


diferenciarse de las rdenes. Admiten hasta ocho
caracteres significativos.

Esto ltimo significa que la etiqueta


`BALANCE_DE_AGOSTO' es idntica a
`BALANCE_DE_ENERO'.
BATCH
:INICIO (etiqueta destino)
. comando-1
. comando-2
. comando-3
GOTO INICIO (transferencia de control)
. comando-5
. comando-n

Al emitirse un comando GOTO, se buscara la etiqueta en el


archivo por lotes, si se encuentra la ejecucin del
archivo, continuara en la lnea que sigue a la etiqueta.

Notas:
Cualquier lnea en un archivo de procesamiento por lotes
que empiece con [:] dos puntos, se ignora durante el
proceso.
Las etiquetas son palabras de ocho caracteres, precedidas
por dos puntos.
BATCH
@echo off
:bucle
echo ** hola **
echo ++ chao ++
goto bucle
exit
BATCH
Este programa copia todos los ficheros del directorio c:\test
al directorio g:\test

@echo off
rem Programa: 0.BAT
echo ********************************************
echo ** Este programa copia todos los ficheros **
echo ** del directorio c:\test al directorio **
echo ** g:\test **
echo ********************************************
pause
:Proceso
copy c:\test\*.txt g:\test\.
pause
goto Proceso
BATCH
Compare los siguientes ejemplos

@echo off @echo off @echo off


goto etiqueta3 :etiqueta1 :etiqueta1
:etiqueta1 ver ver
ver :etiqueta2 :etiqueta2
:etiqueta2 ping www.guidorios.cl ping www.guidorios.cl
ping www.guidorios.cl :etiqueta3 :etiqueta3
:etiqueta3 copy c:\test\*.txt g:\test\ copy c:\test\*.txt g:\test\
copy c:\test\*.txt g:\test\
goto etiqueta3 goto etiqueta1
BATCH
La etiqueta EOF

La Funcion de EOF es irse al final del script cuando es


llamada por un goto.

Para usar la etiqueta EOF no es obligatorio ponerla en el


cdigo :EOF, por que EOF automticamente ira al final
de la aplicacin.

Ejemplo
@echo off

set /p nombre="Pon tu nombre: "


goto EOF

echo Este parte de codigo no la quiero mostrar.

:mostrar
BATCH
Ejemplo

@echo off

set /p nombre="Pon tu nombre: "


goto EOF
echo Este parte de codigo no la quiero mostrar.
:mostrar
cls
echo Tu nombre es %nombre%
pause
exit
BATCH
Declaracin de una variable

%variable% Variable del entorno.

set NOMBREVARIABLE = VALOR

Ejemplo:
Archivo
0.bat

Cdigo
@echo off
set Nombre= Guido Rios Ciaffaroni
echo %Nombre%
Pause

Ejecucin:
c:\test>0 guido rios
BATCH
Compare los siguientes ejemplos

@echo off @echo off


set nombre= %1 set nombre= %1
echo mi nombre es set apellido= %2
%nombre%
echo mi nombre es
pause %nombre% %apellido%
pause
BATCH
Para crear variables dinmicas anteponga /p

Ejemplo
Archivo
0.bat

Cdigo
@echo off
set /p Nombre=Escriba su Nombre:
echo su nombre es %nombre%
pause
BATCH
multiplicar, sumar, etc. con /a

Ejemplo

set numero1=2
ser numero2=43
set /a suma= %numero1% + %numero2%
echo %suma%
pause
exit
BATCH
Lista de Variables

1- %ALLUSERSPROFILE%
Esta variable devuelve la localizacin del perfil de todos
los usuarios.
2- %APPDATA%
Devuelve el lugar donde las aplicaciones guardan los
datos por defecto (Normalmente la carpeta de Archivos
de Programa).
3- %CD%
Devuelve el directorio en el que ests en ese momento
(se explicar ms adelante con sus comandos para
cambiarse de directorio).
4- %CMDCMDLINE%
Muestra el comando exacto empleado para acceder al
intrprete de comandos (cmd.exe).
BATCH
Lista de Variables

5- %CMDEXTVERSION%
Devuelve la extensin de nuestro intrprete de
comandos.
6-%COMPUTERNAME%
Devuelve el nombre del equipo.
7-%COMSPEC%
Devuelve la ruta de la shell de comandos.
8-%DATE%
Devuelve la fecha actual.
9-%ERRORLEVEL%
Devuelve el cdigo de error del ltimo comando
ejecutado.
BATCH
Lista de Variables

10- %HOMEDRIVE%
Devuelve la unidad en la que est el directorio en el que
ests actualmente.
11- %HOMEPATH%
Devuelve la ruta completa a dicho directorio.
12-%LOGONSERVER%
Devuelve el nombre de nuestro servidor.
13-%NUMBER_OF_PROCESSORS%
Devuelve el nmero de procesadores instalados en el
equipo.
14-%OS%
Devuelve nuestro sistema operativo, con la excepcin de
Windows 2000 y XP que lo devuelven como
Windows_NT.
BATCH
Lista de Variables

15-%PATH%
Devuelve la ruta a la carpeta de los ejecutables ms
importantes del sistema.
16-%PATHEXT%
Devuelve las extensiones de archivos que nuestro
sistema considera ejecutables.
17-%PROCESSOR_ARCHITECTURE%
Devuelve la arquitectura del procesador.
18-%PROCESSOR_IDENTIFIER%
Devuelve la descripcin del procesador.
19-%PROCESSOR_LEVEL%
Devuelve el nmero de modelo de procesador.
BATCH
Lista de Variables

20- %PROCESSOR_REVISION%
Devuelve el nmero de revisin del procesador.
21-%PROGRAMFILES%
Devuelve la carpeta donde se guardan los programas
(normalmente Archivos de Programa).
22-%RANDOM%
Devuelve un nmero al azar entre 0 y 32767.
23-%SYSTEMDRIVE%
Devuelve la unidad que contiene el directorio raz del
sistema.
24-%SYSTEMROOT%
Devuelve la carpeta de administracin, que suele ser
C://Windows
BATCH
Lista de Variables

25 - %TEMP%
Devuelve el directorio donde estn los archivos
temporales.
26 - %TMP%
Igual que el anterior.
27- %TIME%
Devuelve la hora actual.
28- %USERNAME%
Devuelve el nombre del usuario actual.
29- %USERPROFILE%
Devuelve la ruta del directorio donde estn los archivos
del usuario actual.
30-%WINDIR%
Devuelve la ruta de la carpeta del sistema operativo
BATCH
Ejemplo

@echo off
title Hora actual
echo El usuario %USERNAME% ha solicitado ver la hora
pause
echo La fecha es %DATE% y son las %TIME%
pause>nul
exit

Das könnte Ihnen auch gefallen