Hola hoy os traigo un par de scripts en batch. Espero que os sean útiles. Gracias.
1.- Compruebe si existe un fichero emitiendo un mensaje si existe. (If Exist)
@echo off
rem ************************************************************************
rem EJERCICIO 1 COMPRUEBA SI EXISTE UN FICHERO EMIIENO UN MENSAJE SI EXISTE.
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
IF EXIST %1 echo «EL DIRECTORIO SI EXISTE»
IF NOT EXIST %1 echo «EL DIRECTORIO NO EXISTE»
2.- Compruebe si existe el directorio c:\windows\system32, emitiendo un mensaje si existe. (If Exist)
@echo off
rem ************************************************************************
rem EJERCICIO 2 COMPRUEBA SI EXISTE EL DIRECTORIO C:\WINDOWS\SYSTEM32 EMIIENO UN MENSAJE SI EXISTE.
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
IF EXIST «C:\WINDOWS\SYSTEM32» echo «EL DIRECTORIO SI EXISTE»
IF NOT EXIST «C:\WINDOWS\SYSTEM32» echo «EL DIRECTORIO NO EXISTE»
3.- Comprueba si no existe un fichero emitiendo un mensaje. (If not Exist)
@echo off
rem ************************************************************************
rem EJERCICIO 3 COMPRUEBA SI NO EXISTE
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
IF EXIST %1 echo «EL DIRECTORIO SI EXISTE»
IF NOT EXIST %1 echo «EL DIRECTORIO NO EXISTE»
4.- Crea un fichero bat que verifique si dos cadenas de texto pasadas como parámetros son iguales, mostrando un mensaje si son iguales y otro si no son iguales, no utilizar la opción “else”. (If “cadena 1” == “cadena 2”).
@echo off
rem ************************************************************************
rem EJERCICIO 4 verifique si dos cadenas de texto pasadas como parámetros son iguales
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
IF %1==%2 echo «son iguales»
IF NOT %1==%2 echo «no son iguales»
5.- Crea un fichero llamado hola.txt y cópialo a otro destino. Muestra a continuación el estado de la variable %errorlevel%, deberá estar a 0.
6.- Copia a otro destino el fichero antes creado equivocándote en una letra. Muestra a continuación el estado de la variable %errorlevel%, deberá estar a 1.
7.- Crea un Fichero bat que se llame Ejer7.bat que compruebe si no existe un fichero pasado como parámetro emitiendo un mensaje. (If not Exist)
@echo off
rem ************************************************************************
rem EJERCICIO 7 compruebe si no existe un fichero pasado como parámetro emitiendo un mensaje
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
IF NOT EXIST %1 echo «EL DIRECTORIO NO EXISTE»
8- Crea un Fichero bat que se llame Ejer8.bat que compruebe si existe un fichero pasado como parámetro emitiendo un mensaje. (If Exist)
@echo off
rem ************************************************************************
rem EJERCICIO 8 compruebe si existe un fichero pasado como parámetro emitiendo un mensaje
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
IF EXIST %1 echo «EL fichero EXISTE»
9.- Crea un Fichero bat que se llame Ejer9.bat que compruebe si existe un directorio pasado como parámetro emitiendo un mensaje. (If Exist)
@echo off
rem ************************************************************************
rem EJERCICIO 8 compruebe si existe un fichero pasado como parámetro emitiendo un mensaje
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
IF EXIST %1 echo «EL fichero EXISTE»
10.- Crea un fichero bat que se llame 10.bat que copie un fichero a otro destino, mostrando un mensaje indicativo si la copia se ha realizado con éxito o ha fallado. El nombre del fichero y el destino de la copia se pasarán como parámetros.
@echo off
rem ************************************************************************
rem EJERCICIO 10 comprueba la copia
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
copy %1 %2
IF %errorlevel%==0 (echo «Se ha realizado correctamente la copia») ELSE (echo «No se ha realizado la copia»)
11.- Copia el fichero Ejer10.bat cambiándole el nombre a Ejer11.bat, modifica este fichero para que compruebe primero si se han introducido los dos parámetros. Si no se han introducido los parámetros se mostrará un mensaje de error y finalizará la ejecución del programa, de lo contrario seguirá la ejecución.
@echo off
rem ************************************************************************
rem EJERCICIO 10 comprueba la copia
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
IF «%1″==»» echo «NO HAS INTRODUCIDO EL PRIMER PARAMETRO»
IF «%2″==»» echo «NO HAS INTRODUCIDO EL SEGUNDO PARAMETRO»
copy %1 %2
IF %errorlevel%==0 (echo «Se ha realizado correctamente la copia») ELSE (echo «No se ha realizado la copia»)
- Crea un fichero por lotes llamado EJER12.BAT para crear la estructura de directorios de un usuario. El fichero recibirá como parámetro el nombre del usuario, el fichero realizará las siguientes acciones;
- Se comprobará que se introducen datos (nombre) como parámetro, mostrando un mensaje de error en caso de que no se haya introducido, deteniendo la ejecución del fichero.
- Se creará en el directorio raíz de la unidad C: un directorio con el nombre del usuario si este no existe, si existe, se mostrará un mensaje alusivo y se detendrá la ejecución.
- Dentro de este directorio deberá crear tres directorios: DATOS, DOCUMENTOS y AGENDA. Tras crear los directorios, se mostrará el siguiente mensaje: “Directorios creados para el usuario nombre_usuario”.
@echo off
rem ************************************************************************
rem EJERCICIO 12 directorios
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
IF «%1″==»» echo «NO HAS INTRODUCIDO EL NOMBRE»
IF EXIST C:\%1 echo «EL USUARIO YA EXISTE»
IF NOT EXIST C:\%1 mkdir “C:\%1” mkdir “C:\%1\DATOS” “C:\%1\DOCUMENTOS” “C:\%1\AGENDA” & echo «directorios creados para el usuario %1»
13.- Renombra el anterior fichero con el nombre de EJER13 y modifícalo para que pida el nombre del usuario y si existe, de la opción de salir o crear otro.
@echo off
rem ************************************************************************
rem EJERCICIO 13 creacion archivos
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
:arriba
echo Introduce el nombre
set /p nombre=
IF «%nombre%»==»» echo «NO HAS INTRODUCIDO EL NOMBRE»
IF EXIST «C:\%nombre%» echo «EL USUARIO YA EXISTE» & goto salir
IF NOT EXIST «C:\%nombre%» mkdir «C:\%nombre%» & mkdir «C:\%nombre%\DATOS» «C:\%nombre%\DOCUMENTOS» «C:\%nombre%\AGENDA» & echo «directorios creados para el usuario %nombre%» & goto fuera
:salir
echo ¿Que desea hacer?
echo 1. Repetir
echo 2. Salir
choice /C:12
IF ERRORLEVEL 2 goto fuera
IF ERRORLEVEL 1 goto arriba
:fuera
pause
exit
14.- Utilizando el comando “netsh”, crea un bat que se llame Ejer15.bat que cambie la configuración de la tarjeta de red. El bat irá pidiendo la dirección IP, la máscara de red, la puerta de enlace y el nombre de la red, una vez obtenidos los datos se procederá a visualizarlos y preguntar si son correctos.
Si no son correctos, se preguntará si desea introducirlos otra vez o finalizar, ejecutando la opción seleccionada.
Si son correctos se modificará la dirección IP de la tarjeta de red. Se mostrará un mensaje tanto si el resultado es correcto como si no lo es. Si el resultado es correcto se mostrará la nueva dirección de la tarjeta de red, si no lo es finalizará el bat.
@echo off
rem ************************************************************************
rem EJERCICIO 15 ip menu
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
:inicio
echo Introduce la ip
set /p ip=
echo Introduce la mascara de red
set /p red=
echo Introduce la puerta de enlace
set /p enlace=
echo Introduce el nombre de la red
set /p nred=
echo Estos son los datos introducidos, %ip% %red% %enlace% %nred% , son correctos?
echo 1. si
echo 2. no
choice /C:12
IF ERRORLEVEL 2 goto fuera
IF ERRORLEVEL 1 goto configuracion
:fuera
echo ¿desea repetir la introduccion de datos?
echo 1. si
echo 2. no
choice /C:12
IF ERRORLEVEL 2 goto exit
IF ERRORLEVEL 1 goto inicio
:exit
exit
:configuracion
netsh interface ip set address «%nred%» static %ip% %red% %enlace% 1
IF %errorlevel%==0 echo Se ha configurado correctamente
IF %errorlevel%==1 echo No se ha configurado correctamente
15.- Utilizando el comando “netsh” crea un bat que se llame Ejer16.bat que cambie las direcciones DNS de la tarjeta de red.
El bat pedirá la primera DNS y procederá a cambiar la DNS principal mostrando un mensaje, tanto si se ha modificado con éxito como si no.
Si no se ha modificado con éxito se dará opción a introducir otra o finalizar.
Si se ha finalizado con éxito se solicitará la DNS secundaria procediendo igual que con la principal.
Una vez modificadas las DNS se mostrarán los cambios realizados por consola.
@echo off
rem ************************************************************************
rem EJERCICIO 16 dns
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
:inicio
echo Introduce el primer dns
set /p dnsp=
echo Introduce el nombre del adaptador
set /p na=
Netsh interface ipv4 add dnsserver «%na%» address=%dnsp% index=1
IF %errorlevel%==0 echo Se ha configurado correctamente goto dnss
IF %errorlevel%==1 echo No se ha configurado correctamente goto opcion
:opcion
echo ¿desea repetir la introduccion de datos?
echo 1. si
echo 2. no
choice /C:12
IF ERRORLEVEL 2 goto exit
IF ERRORLEVEL 1 goto inicio
:exit
exit
:dnss
echo Introduce el segundo dns
set /p dnss=
echo Introduce el nombre del adaptador
set /p na=
Netsh interface ipv4 add dnsserver «%na%» address=%dnsp% index=2
IF %errorlevel%==0 echo Se ha configurado correctamente goto exit
IF %errorlevel%==1 echo No se ha configurado correctamente goto opcion2
:opcion2
echo ¿desea repetir la introduccion de datos?
echo 1. si
echo 2. no
choice /C:12
IF ERRORLEVEL 2 goto exit2
IF ERRORLEVEL 1 goto dnss
:exit2
exit
16.- Unir los ficheros Ejer15.bat y Ejer.16.bat en uno que se llame Ejer17.bat. El programa al principio mostrará un menú en el que se pueda elegir entre las opciones Modificar la dirección IP, Modificar las direcciones DNS o Salir. Solo se podrá salir del programa desde este menú inicial.
@echo off
rem ************************************************************************
rem EJERCICIO 16 dns
rem DAVID DE MAYA
rem CLS
rem *************************************************************************
echo ¿desea repetir la introduccion de datos?
echo 1. cambiar IP
echo 2. cambiar DNS
echo 3. exit
choice /C:12
IF ERRORLEVEL 3 goto exit
IF ERRORLEVEL 2 goto dns
IF ERRORLEVEL 1 goto ip
:ip
:inicio
echo Introduce la ip
set /p ip=
echo Introduce la mascara de red
set /p red=
echo Introduce la puerta de enlace
set /p enlace=
echo Introduce el nombre de la red
set /p nred=
echo Estos son los datos introducidos, %ip% %red% %enlace% %nred% , son correctos?
echo 1. si
echo 2. no
choice /C:12
IF ERRORLEVEL 2 goto fuera
IF ERRORLEVEL 1 goto configuracion
:fuera
echo ¿desea repetir la introduccion de datos?
echo 1. si
echo 2. no
choice /C:12
IF ERRORLEVEL 2 goto exit
IF ERRORLEVEL 1 goto inicio
:exit
exit
:configuracion
netsh interface ip set address «%nred%» static %ip% %red% %enlace% 1
IF %errorlevel%==0 echo Se ha configurado correctamente
IF %errorlevel%==1 echo No se ha configurado correctamente
:dns
:inicio
echo Introduce el primer dns
set /p dnsp=
echo Introduce el nombre del adaptador
set /p na=
Netsh interface ipv4 add dnsserver «%na%» address=%dnsp% index=1
IF %errorlevel%==0 echo Se ha configurado correctamente goto dnss
IF %errorlevel%==1 echo No se ha configurado correctamente goto opcion
:opcion
echo ¿desea repetir la introduccion de datos?
echo 1. si
echo 2. no
choice /C:12
IF ERRORLEVEL 2 goto exit
IF ERRORLEVEL 1 goto inicio
:exit
exit
:dnss
echo Introduce el segundo dns
set /p dnss=
echo Introduce el nombre del adaptador
set /p na=
Netsh interface ipv4 add dnsserver «%na%» address=%dnsp% index=2
IF %errorlevel%==0 echo Se ha configurado correctamente goto exit
IF %errorlevel%==1 echo No se ha configurado correctamente goto opcion2
:opcion2
echo ¿desea repetir la introduccion de datos?
echo 1. si
echo 2. no
choice /C:12
IF ERRORLEVEL 2 goto exit2
IF ERRORLEVEL 1 goto dnss
:exit2
exit