Tutoriales Batch y Bash básicos, empieza desde 0

Iniciado por hckcrck, 17 Junio 2016, 17:56 PM

0 Miembros y 1 Visitante están viendo este tema.

hckcrck

Hola a todos, me he decidido a abrir este tema, no solo como duda, si no para que quien este empezando en esto del scripting y no encuentre la ayuda que necesite, pueda acceder a manuales y tutoriales buenos y entendibles.
Es cierto que en internet hay muchos tutoriales simplemente con una sencilla búsqueda, pero no todos se explican de una forma que un novato que quiera iniciarse desde 0 (como yo), pueda entender.
Así que empezaré aportando dos manuales muy buenos para iniciarse desde 0 en batch, y espero que si alguien que se esté iniciando conoce alguno mas, lo aporte.
También he creído que sería mejor poner un rango a cada tutorial que refleje su dificultad, de esa forma hacer mas sencillo un aprendizaje escalonado, si algún mod cree oportuno cambiar el rango de un tutorial no hay ningún problema  


Lenguaje: batch
Rango: [1/5]
http://todohacker.com/tutoriales/lenguaje-batch
Este es un manual básico de bach, explica los conceptos iniciales con ejemplos muy completos, está muy bien escalonado, a sido mi primer tutorial, si alguien tiene alguna duda sobre este manual que me pregunte en este hilo, si puedo ayudarle se ahorrará tener que abrir uno nuevo  :)

Lenguaje: batch
Rango: [1/5]
http://dawdamasir.com/wp-content/uploads/2012/04/MinitutorialFicherosBat.pdf
Otro manual básico de batch, también explica el lenguaje desde cero, pero ahonda un poco mas en el tema si as leído el primero y tienes ganas de más, este te ayudará a pasar al siguiente nivel 2/5

Lenguaje: batch
Rango: Tutorial extendido
https://foro.elhacker.net/buscador-t375135.0.html
Tutorial extendido de aprendizaje Batch - por Elektro, abarca barias dificultades, empezando por la primera, un tutorial útil para avanzar sin necesidad de cambiar de instructor, cosa que dificulta un aprendizaje escalonado

Lenguaje: bash
Rango: Tutorial extendido PDF
http://macprogramadores.org/documentacion/bash.pdf
Tutorial recomendado para iniciarse en bash, 227 paginas de conocimiento listo para tomar, que aproveche  :)



        Nota: Cualquier manual bien explicado sobre batch o bash será bien venido, no hace falta que sea básico, también puede ser intermedio, ya que el objetivo es avanzar no quedarse estancado en el inicio, pero muy avanzados no creo que convenga, ya que el hilo es para iniciarse en el tema :)


Modifico: batchelp creado ;-)
Hola de nuevo, con el fin de poder aportar algo con lo que he aprendido, he decidido crear un bat que sirve como "chuleta" en caso de necesitar ayuda con un comando, el bat tiene estas características;
Un menú sencillo, solo pulsa en numero correspondiente al comando del que quieras recibir ayuda y listo.
Le pide ayuda a la consola "comando"/?, si esto no es suficiente para resolver tu duda, crea un archivo de texto para que leas una explicación mas extensa, el texto se saco del primer tutorial aportado arriba
Citarhttp://todohacker.com/tutoriales/lenguaje-batch
De momento ofrece ayuda básica con estos comandos:
copy
del
pause
echo
cd
if
start
title
color

Se irán añadiendo mas, el script estará en constante actualización


Este script a sido creado con el fin de ayudar a comprender las distintas funciones de un comando batch, de ser una guía para que no solo se pueda aprender, si no también aplicar esos conocimientos, si crees que puedes contribuir al script de alguna  forma eres libre de hacerlo y publicarlo en este hilo, una vez comprobado su funcionamiento, se actualizara el código, las características de la mejora y el nick del autor
Aviso de fallo importante!!
Pues si, antes siquiera de poner en funcionamiento la versión experimental de batchelp, tengo que informar de un bug  :rolleyes:, cuando respondes si a la opción de mostrar un texto con información detallada, el bat (aún no se como evitarlo, sería una buena aportación) no deja ver algunos caracteres, como los acentos (los he eliminado) > o < tampoco "" por lo que algún texto de ayuda (copy pause y habrá mas si no logro solucionarlo :() no se muestran como deberían, ejemplo, en vez de " muestra  âll, una vez solucionado el fallo tengo planes para actualizar el script y hacer de el una guía como dios manda, pero antes hay solucionar ese problema, confío en que esto despierte el interés de alguien que me pueda ayudar al respecto  :)

:) :) :) :)
Sin mas preámbulo aquí os lo dejo, acepto criticas constructivas de cualquier tipo
batchelp (experimental)

Batchelp actualizado!
No he podido trabajar mucho en el script, ya que mi ordenador me está dando problemas, pero si he actualizado la interfaz y he añadido alguna mejora:
se cambia el color negro verde por blanco negro
La ayuda sobre el comando se muestran en la terminal, mejor explicadas, y mas fáciles de leer
He añadido las instrucciones (usarlo no es dificil, pero leerlas te harán el uso de batchelp mas sencillo
He añadido un menú de ayuda y otro con el tutorial, ambos están en desarrollo, se incluirán en breve, el tutorial contiene un ejemplo interactivo para que te hagas a la idea de como serán
Navegación libre, puedes ir a donde queras estés donde estés, solo escribe donde quieres ir entre comillas "" en caso de no encontrarse en el menú actual, y aparecerá, por ejemplo, estoy en el menu, pero me quiero ahorrar entrar al diccionario para ver la ayuda de el comando cls, solo escribo "cls" y saldrá en la pantalla

Posiblemente hoy mismo actualice Batchelp de nuevo
Si tienes algún fallo o aspereza por limar, puede que mañana este solucionado

@echo off
title batchelp (experimental)
cls
mode con cols=100 lines=40
color fc
echo.
echo para usar Batchelp adecuadamente redimensione su terminal
echo asta que las lineas se encuentren visibles asta el final
echo si su terminal corta la imagen pulse enter
echo para refrescar la pantalla
echo.
pause
:testpant
cls
echo ========================================================================================================
echo.
echo.
echo.
echo.                       
echo.
echo.                               
echo.                               
echo.                                     
echo.                                 
echo      la linea de abajo la de arriba deben verse por completo
echo  si su terminal corta la imagen al redimensionar, pulse enter para refrescar la pantalla                         
echo.                                 
echo      cuando vea las lineas escriba menu en la pantalla :)                           
echo.                                 
echo.                       
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo =========================================================================================================
set/P otest= ::
if %otest%==menu goto menu
if %otest%=="menu" goto menu
if %otest%=="tutorial" goto tutorial
if %otest%=="ayuda" goto ayuda
if %otest%=="salir" goto salir
if %otest%=="instrucciones" goto instrucciones
if %otest%=="echo" goto echo
if %otest%=="pause" goto pause
if %otest%=="cd" goto cd
if %otest%=="if" goto if
if %otest%=="cls" goto clsdic
if %otest%=="title" goto title
if %otest%=="copy" goto copy
if %otest%=="color" goto color
goto testpant
:menu
color 70
cls
echo                                                                         ~~~~~~~~~~~~~~
echo                          =================================              : created by :
echo                          =  MENU PRINCIPAL DE BATCHELP   =              :            :
echo                          =================================              : -hckcrck   :
echo                                                                         : -...       :   
echo                        introduzca en la pantalla de batchelp            : -...       :
echo                         la palabra que este entre comillas              ~~~~~~~~~~~~~~
echo                          del menu al que desea desplazarse
echo                         si no puede entrar al menu deseado
echo                             revise que este bien escrito
echo.
echo.     
echo                              "diccionario" batch
echo                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo                              "tutorial" basico de batch (en proceso...)
echo                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo                              "instrucciones" batchelp
echo                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo                              "salir" de Batchelp
echo                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo                              "ayuda" para usar Batchelp (en proceso...)
echo                          =================================
echo.
set/P omenuP= ::
if %omenuP%==diccionario goto diccionario
if %omenuP%==tutorial goto tutorial
if %omenuP%==instrucciones goto instrucciones
if %omenuP%==salir goto salir
if %omenuP%==ayuda goto ayuda
if %omenuP%=="echo" goto echo
if %omenuP%=="pause" goto pause
if %omenuP%=="cd" goto cd
if %omenuP%=="if" goto if
if %omenuP%=="cls" goto clsdic
if %omenuP%=="title" goto title
if %omenuP%=="copy" goto copy
if %omenuP%=="color" goto color
goto menu
:correccion
echo.
echo Puede que el comando no este bien escrito, prueba de nuevo :)
echo.
pause
goto menu
:ayuda
cls
echo.
echo   Se esta trabajando en un menu de ayuda con los errores
echo      mas comunes que puedes encontrar en Batchelp,
echo   pero si necesitas soporte por que una funcionalidad
echo      del script no funciona bien, puede acudir a este link
echo   y comentar tu problema, estaremos encantados de ayudar.
echo.
echo     https://foro.elhacker.net/scripting/tutoriales_batch_y_bash_basicos_empieza_desde_0-t454010.0.html
echo.
pause
goto menu
:tutorial
cls
echo.
echo  Esta fase del proyecto se encuentra en proceso, ofrecere
echo    un adelanto de como sera:
echo  El plan es un tutorial de batch basico como su nombre indica,
echo    en el se aprendera lo basico, con ello tendra los conocimientos
echo  para crear scrips sencillos, como lo es este.
echo    el tutorial incluira ejemplos interactivos, por ejemplo
echo  asta ahora hemos visto ejemplos escritos e imagenes de como
echo    hacer un bat y de como quedara, como este tan sencillo
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo  @echo off
echo  echo hola mundo!
echo  echo.
echo  pause
echo  exit
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo    tipico ejemplo del uso del comando echo echo. y pause para visualizar
echo  un texto en la pantalla, pero ahora ademas lo puedes
echo    ejecutar y comprobar el resultado por ti mismo
echo  pruebalo escribiendo "ejemplo" en la pantalla de batchelp
echo    sin las comillas :)
echo  escribe menu para volver al menu
echo.
set /P tutoej= ::
if %tutoej%==ejemplo goto tutoej
if %tutoej%==menu goto menu
if %tutoej%=="menu" goto menu
if %tutoej%=="tutorial" goto tutorial
if %tutoej%=="ayuda" goto ayuda
if %tutoej%=="salir" goto salir
if %tutoej%=="instrucciones" goto instrucciones
if %tutoej%=="echo" goto echo
if %tutoej%=="pause" goto pause
if %tutoej%=="cd" goto cd
if %tutoej%=="if" goto if
if %tutoej%=="cls" goto clsdic
if %tutoej%=="title" goto title
if %tutoej%=="copy" goto copy
if %tutoej%=="color" goto color
goto tutorial
:tutoej
cls
echo @echo off > ejemploholamundo.bat
echo echo hola mundo! >> ejemploholamundo.bat
echo echo. >> ejemploholamundo.bat
echo pause >> ejemploholamundo.bat
echo exit >> ejemploholamundo.bat
start ejemploholamundo.bat
echo.
echo     creando ejemplo interactivo y ejecutandolo, cuando lo vea y lo cierre
echo  pulse una tecla y volvera al tutorial :) (el bat se eliminara
echo     automaticamente)
echo.
pause
del/f ejemploholamundo.bat
goto tutorial

:instrucciones
cls
echo.                                                                                                 
echo            ===========================
echo               INSTRUCCIONES DE USO
echo            ===========================
echo    Las instrucciones de batchelp son muy sencillas, para
echo  entrar a un menu, escribe su nombre, o numero correspondiente.
echo     Si desea ver ayuda sobre un comando pero usted no esta en el diccionario, 
echo  escribalo entre comillas y aparecera el menu con informacion detallada de ese comando   
echo    le recomiendo que lea la lista, ya que algunos pueden no estar (lo estarán
echo  proximamente)
echo  Lo mismo si esta en cualquier parte pero quere ir a menu, o al tutorial,
echo     si esta fuera de su menu actual escribalo entre comillas y aparecera.
echo.
echo   Para contribuir a la mejora de batchelp puedes ir a el.hacker.net y
echo publicar tus ideas y proyectos, o comentar dudas y errores en este enlace:
echo.
echo     https://foro.elhacker.net/scripting/tutoriales_batch_y_bash_basicos_empieza_desde_0-t454010.0.html
echo (este otro es el mismo link, pero ves 5 segundos de publicidad y
echo     aportas una pequeña ganancia al creador del proyecto :)
echo.
echo   http://adf.ly/1bKjiY
echo.
pause
goto menu

:diccionario
cls
echo.                                                        ~~~~~~~~~~~~~~~~~~
echo                 ===================================    : 1-echo   2-pause :
echo                        DICCIONARIO DE BATCH            :                  :
echo              en el se encuentra informacion detallada  : 3-cd     4-if    :
echo                  sobre comandos de lenguaje batch      :                  :
echo                 ===================================    : 5-cls    6-title :
echo                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    :                  :
echo                 para volver a menu escriba "menu" en   : 7-copy   8-color :
echo                      la pantalla de Batchelp           :                  :
echo                   para recibir informacion de un       :                  :
echo              comando escriba el numero en la pantalla  :                  :
echo                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    :                  :
echo                                                         ~~~~~~~~~~~~~~~~~~
set/P odicc= ::
if %odicc%==1 goto echo
if %odicc%==2 goto pause
if %odicc%==3 goto cd
if %odicc%==4 goto if
if %odicc%==5 goto clsdic
if %odicc%==6 goto title
if %odicc%==7 goto copy
if %odicc%==8 goto color
if %odicc%==menu goto menu
if %odicc%=="menu" goto menu
if %odicc%=="tutorial" goto tutorial
if %odicc%=="ayuda" goto ayuda
if %odicc%=="salir" goto salir
if %odicc%=="instrucciones" goto instrucciones

goto diccionario
:clsdic
cls
echo.
echo           ====================
echo                Comando cls
echo           ====================
echo  Este comando es muy facil de explicar, colocando "cls" en nuestro script,
echo     limpiamos la pantalla de la terminal y nos muestra lo que venga despues
echo  limpio. Como ejemplo de el futuro tutorial que programare en batch, he
echo     decidido poner un ejemplo interactivo de este comando, como los que
echo  aparecran en el tutorial, para ver el ejemplo 1 escribe ejemplo1, para el
echo     ver el ejemplo 2 escribe ejemplo2, para ir a menu pulsa enter.
echo.
echo   ejemplo 1 (con cls)                          :    ejemplo 2 (sin cls)
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo  @echo off                                     :  @echo off
echo  cls                                           :
echo  echo.                                         :   echo.
echo  echo este texto aparece en el primer bloque   :   echo este texto aparece en el primer bloque
echo  pause                                         :   pause
echo  cls                                           :   
echo  echo.                                         :   echo.
echo  echo el texto se a borrado por que si hay cls :   echo no se ha borrado por que no hay cls
echo  pause                                         :   pause
echo  exit                                          :   exit
echo.                                               
set /P clsej= ::
if %clsej%==ejemplo1 goto clsej1
if %clsej%==ejemplo2 goto clsej2
if %clsej%=="menu" goto menu
if %clsej%=="tutorial" goto tutorial
if %clsej%=="ayuda" goto ayuda
if %clsej%=="salir" goto salir
if %clsej%=="instrucciones" goto instrucciones
if %clsej%=="echo" goto echo
if %clsej%=="pause" goto pause
if %clsej%=="cd" goto cd
if %clsej%=="if" goto if
if %clsej%=="cls" goto clsdic
if %clsej%=="title" goto title
if %clsej%=="copy" goto copy
if %clsej%=="color" goto color
if %clsej%==menu goto menu
goto clsdic
:clsej1
cls
echo @echo off > clsejemplo1.bat
echo cls >> clsejemplo1.bat
echo echo. >> clsejemplo1.bat
echo echo este texto aparece en el primer bloque >> clsejemplo1.bat
echo pause >> clsejemplo1.bat
echo cls >> clsejemplo1.bat
echo echo. >> clsejemplo1.bat
echo echo se a borrado por que hay cls >> clsejemplo1.bat
echo pause >> clsejemplo1.bat
echo exit >> clsejemplo1.bat
echo.
echo creando ejemplo interactivo y ejecutandolo, cuando lo vea y lo cierre
echo    pulse una tecla y volvera al diccionario :) (el bat se eliminara
echo automaticamente)
echo.
start clsejemplo1.bat
pause
del/f clsejemplo1.bat
goto clsdic
:clsej2
cls
echo @echo off > clsejemplo2.bat
echo echo. >> clsejemplo2.bat
echo echo este texto aparece en el primer bloque >> clsejemplo2.bat
echo pause >> clsejemplo2.bat
echo echo. >> clsejemplo2.bat
echo echo no se a borrado por que no hay cls >> clsejemplo2.bat
echo pause>> clsejemplo2.bat
echo exit >> clsejemplo2.bat
start clsejemplo2.bat
echo.
echo creando ejemplo interactivo y ejecutandolo, cuando lo vea y lo cierre
echo    pulse una tecla y volvera al diccionario :) (el bat se eliminara
echo automaticamente)
echo.
pause
del/f clsejemplo2.bat
goto clsdic

:copy
cls
echo.
echo                              =================
echo                              = comando copy  =
echo                              =================
echo El comando copy, que como su nombre indica sirve para copiar archivos. 
echo    Se utiliza de este modo:
echo copy ruta del archivo que queremos copiar "a la ruta del directorio donde lo
echo    queremos  copiar incluyendo el nuevo nombre del archivo.
echo  ~Ejemplo:
echo si queremos copiar un archivo que se llama cosa.txt de el directorio del escritorio
echo    a mis documentos, pondremos:
echo copy C:\Documents and Settings\Propietario\Escritorio\cosa.txt
echo   "C:\Documents and Settings\Propietario\Mis documentos\cosa2.txt
echo.
pause
goto diccionario
:title
cls
echo.         ===================
echo             Comando title
echo          ===================
echo    Ahora otra cosa muy sencilla.
echo No se si os habeis fijado en la barra de titulo de la terminal, pone por defecto
echo    la ubicacion en la que nos encontramos, normalmente system32.
echo Pues esto se puede cambiar poniendo simplemente "title" y el nombre que le
echo    queramos poner, en este caso batchelp. 
echo.
pause
goto diccionario
:color
echo    En esta parte vamos a ver algo muy sencillo, se trata del codigo de colores de
echo las letras y el fondo de la consola simplemente se expresa con una combinacion
echo    de numeros y letras de esta forma:
echo Primero ponemos "color", para indicar que lo que le vamos a decir es el color
echo    del la letra y el fondo, y seguidamente debemos poner dos numeros sin espacio,
echo el primero es el color del fondo y el segundo el color de letra.
echo    to menuP
echo Codigo de colores: 
echo A = Verde claro
echo   B = Aguamarina claro
echo C = Rojo claro
echo   D = Purpura claro
echo E = Amarillo claro
echo   F = Blanco brillante
echo 0 = Negro
echo   1 = Azul
echo 2 = Verde
echo   3 = Aguamarina
echo 4 = Rojo
echo   5 = Purpura
echo 6 = Amarillo
echo   7 = Blanco
echo 8 = Gris
echo   9 = Azul claro
echo Sabiendo esto, si queremos que el fondo sea blanco y las letras negras
echo   ponderemos color 70 pruebalo tu mismo
echo.
pause
goto diccionario
:dir
cls
echo.
echo en construcción....
echo.
pause
goto diccionario
:cd
cls
echo.
echo                                   =================
echo                                   =   Comando cd  =
echo                                   =================
echo   Ahora vamos con el comando cd que utilizaremos para cambiar el directorio
echo general
echo   de la terminal, es decir, si el archivo bat esta en el escritorio la terminal
echo estara en ese
echo   directorio por defecto y para cambiarlo utilizaremos el mencionado cd.
echo Por ejemplo:
echo   si queremos crear un archivo txt en mis documentos en vez de en el
echo escritorio, podriamos escribir la ruta cada vez que nos refiramos al archivo.
echo   pero es mas
echo sencillo si cambiamos el directorio actual de la terminal para que siempre
echo   se dirija alli.
echo Para ello escribiremos:
echo   cd C:\Documents and Settings\Propietario\Mis documentos (los nombres de los
echo directorios pueden
echo   cambiar segun el ordenador)
echo y todo lo que creemos o eliminemos sin especificar la carpeta lo hara en mis
echo   documentos
echo Tambien podemos escribir:
echo   cd..(con los puntos) e ira al directorio superior es decir, si estamos en mis
echo documentos se trasladara
echo propietario, en el caso del ejemplo, o cd \\ y se trasladara a la raiz del
echo   directorio. en este caso C:
echo.
pause
goto diccionario
pause
goto diccionario
:pause
cls
echo.
echo                                   =====================
echo                                   =   Comando pause   =
echo                                   =====================
echo   Ahora vamor a ver una variacion del pause: pause NUL (unidos por un signo de
echo mayor a menor, yo lo he puesto asi por que si
echo   lo escribo  no aparece), sirve para hacer una pausa sin poner nada en la pantalla
echo Esto lo vamos a utilizar para poner nosotros el mensaje que queramos en vez del
echo   "pulsa una tecla para continuar"
echo y lo vamos a hacer poniendo algo seguido de pause(signo mayor a menor)NUL
echo   vereis el efecto
echo.
pause
goto diccionario
:if
cls
echo.
echo                             ================
echo                             =  Comando if  =
echo                             ================
echo.
echo If sirve para expresar una condicion. Es decir si pasa esto
echo    entonces haz esto. Para ello vamos a utilizar la siguiente estructura: if
echo condicion accion
echo    ejemplo: if ==4 echo bien!! esto quiere decir que si el valor de la variable es
echo igual a cuatro entonces escribe "bien!!"
echo    Las distintas condiciones que podemos comprobar con un if en batch son las
echo siguientes: (operadores)
echo    if variable==valor (para expresar si la variable es igual a valor haz esto)
echo if variable LSS valor (para expresar si la variable es menor a valor haz esto)
echo    if variable GTR valor (para expresar si la variable es mayor a valor haz esto)
echo if variable LEQ valor (para expresar si la variable es menor o igual haz esto)
echo    if variable GEQ valor (para expresar si la variable es mayor o igual haz esto)
echo if not se utiliza igual que if pero expresa todo lo contrario ej:
echo    if not variable==valor (para expresar si la variable NO es igual a "valor")  y
echo lo mismo con el resto de condiciones vistas arriba.

pause
goto diccionario
:set
cls
echo en construcción....
echo.
pause
goto diccionario
:echo
cls
echo.
echo                             ==================
echo                             =  Comando echo  =
echo                             ==================
echo    ECHO ON muestra los comandos del archivo por lotes (el bat)
echo en la pantalla, ECHO OFF
echo    invierte el efecto de ECHO ON, oculta los comandos y nos deja la terminal como
echo deseamos  verla, aunque si se
echo    tiene un error, se puede borrar el @echo off y asi ver donde puede estar
echo el problema. Bien ahora vamos a continuar
echo    con otro codigo: el echo y el echo. (notese el punto)  El echo sirve para
echo escribir algo en pantalla por ejemplo "echo hola" escribiria
echo    "hola" en la pantalla y echo. sirve para dejar un espacio vacio

pause
goto diccionario
:goto
cls
echo.
echo en construcción....
echo.
pause
goto diccionario
:help
cls
echo.
echo en construcción....
echo.
pause
goto diccionario
:del
cls
echo.
echo                                =================
echo                                =  comando del  =
echo                                =================
echo Al comando del se pueden añdir distintas letras para que funcione de distinta forma:
echo      del/f Modo force. Borra incluso los archivos de solo lectura
echo del/s Borra tambien los subdirectorios.
echo      del/p Pide confirmacion
echo del/q Modo silencioso. No pide confirmacion en ningun caso
echo   Se pueden utilizar varios en el mismo "del"
echo por ejemplo:
echo   del/f/p archivo.txt
echo borraria el archivo aunque fuese de solo lectura y pediria confirmacion
echo.
pause
goto menu












:reiniciar
cls
echo.
echo                                   ===============
echo                                   =   REINICIO  =
echo                                   ===============
echo.
echo                                   pulse una tecla
echo                                   para reiniciar
echo                                      Batchelp
pause>nul
start batchelp.bat
exit

:salir
cls
echo                               =======================
echo                               = SALENDO DE BATCHELP =
echo                               =======================
echo.
echo                       pulse una tecla y se cerrara el script
pause>nul
exit


como esto es para quien empieza desde 0, diré como se ejecuta:
se copia el codigo en un archivo de texto y se guarda con la extensión .bat, doble clic para ejecutar
Para seguir la senda:

*observa al maestro,
sigue al maestro,
camina con el maestro,
ve a través del maestro,
conviértete en el maestro.

https://www.youtube.com/watch?v=08dphYPKLyE