Scripts en batch. MSDOS.

Hola hoy os traigo un par de scripts en batch. Espero que os sean útiles. Gracias.
windows-8-1

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.

screenshot_1

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.

screenshot_2

 

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»)

  1. 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

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.