Scripts Batch y Shell: Guía Práctica de Comandos, Condicionales y Gestión de Directorios
Script Shell para la gestión de directorios y ficheros
Clear
Echo "…………: "
Cont=0
Echo "Introducir primer directorio: "
Read DIR1
Echo "Introducir segundo directorio: "
Read DIR2
Echo "Introducir tercer directorio: "
Read DIR3
Echo "Introducir fichero: "
Read FICH
If [ -d $DIR1 ]
Then
Echo "existe $DIR1"
Else
Mkdir $DIR1
Cont=`expr $Cont+1`
fi
(lo mismo con los 3 directorios)
If [ -f $FICH ]
Then
Echo "existe $FICH, se va a copiar en los 3 directorios"
Cp $FICH $DIR1
Cp $FICH $DIR2
Cp $FICH $DIR3
Else
Echo "Error, no se copia porque no existe"
fi
BATCH
Menú sencillo con saltos (Hola / Adiós / Fin)
@echo off
Cls
Echo 1.-Hola
Echo 2.-Adiós
Echo 3.-Fin
Set /p opcion="Introduce un valor: "
If %opcion% ==1 goto UNO
If %opcion% ==2 goto DOS
If %opcion% ==3 goto FIN
Echo error
Pause
Goto INICIO
:UNO
Echo unoo
Pause
Goto inicio
:DOS
Echo doss
Pause
Goto inicio
:FIN
Echo fin
BATCH
Menú completo de gestión de directorios y archivos
@echo off
cls
:menu
echo.
echo 1.-Crear directorio
echo 2.-Mostrar contenido directorio
echo 3.-Visualizar contenido archivos
echo 4.-Finalizar
set /p opcion="Elige una opción --> "
if %opcion%==1 goto crear
if %opcion%==2 goto mostrar
if %opcion%==3 goto visualizar
if %opcion%==4 goto fin
goto error3
echo La opción no es válida
goto fin
:crear
set /p nomdir="Introduce un directorio: "
if not exist e:\%nomdir% md e:\%nomdir%
goto menu
:mostrar
echo 1.-c:
echo 2.-e:
echo 3.-Volver al menú
set /p menumostrar="Elige una opción --> "
if %menumostrar%==1 goto intro
if %menumostrar%==2 dir e:\
if %menumostrar%==3 goto menu
goto error2
goto menu
:visualizar
set /p nomfich="Introduce nombre de archivo: "
if %nomfich%==fin goto menu
if not exist c:\batch\%nomfich% goto error1
type c:\batch\%nomfich%
goto visualizar
:error1
echo El archivo introducido no existe.
goto visualizar
:error2
echo La opción no es válida
echo.
goto mostrar
:error3
echo La opción no es válida
echo.
goto menu
:error4
echo El directorio no existe
echo.
goto menu
:intro
set /p introo="Introduce un directorio: "
if not exist c:\%introo% goto error4
dir c:\%introo%
goto menu
:fin
echo El proceso ha terminado.
Resumen de comandos
Comandos de scripting
- SHIFT: desplaza los parámetros (el segundo valor pasa al primero).
- TYPE: visualiza el contenido de un archivo.
- GOTO: salta a una etiqueta.
- REM: comentario.
- CALL: llama a otro archivo o script.
Operadores de comparación
- LSS (<): menor que.
- LEQ (<=): menor o igual que.
- GTR (>): mayor que.
- GEQ (>=): mayor o igual que.
- EQU (=): igual que.
Comandos de sistema de archivos
- PWD: muestra el directorio actual.
- CLEAR: borra la pantalla.
- MKDIR: crea directorios.
- RMDIR: elimina directorios.
- CP: copia archivos.
- CD: cambia de directorio (
cd ..retrocede un nivel). - MV: mueve o renombra archivos.
- LS: lista el contenido.
- CAT: muestra el contenido de ficheros.
Permisos y ejecución
- CHMOD (u, g, o, a) (+, -, =) (r, w, x, -)
- Valores octales:
7= rwx (111),6= rw- (110),5= r-x (101),4= r-- (100),3= -wx (011),2= -w- (010),1= --x (001),0= --- (000). - UMASK: cambia los permisos por defecto (777 menos los tres últimos).
- SH: ejecuta un script.