elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: 1 [2]
11  Programación / Scripting / Tutoriales Batch y Bash básicos, empieza desde 0 en: 17 Junio 2016, 17:56 pm
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
Citar
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

Código:
@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
12  Programación / Scripting / Lenguajes de programación para iniciarse? en: 16 Junio 2016, 17:58 pm
Hola, soy novato en esto del "scripiting", he aprendido lo básico del lenguaje batch, pero me gustaría aprender otros lenguajes mas completos y "utilizables", teniendo en cuenta que se lo básico del batch, ¿que opción sería la mas adecuada para continuar aprendiendo?  :)
13  Programación / Scripting / (solucionado) no consigo hacer funcionar un codigo batch en: 15 Junio 2016, 00:23 am
hola, primero me gustaría recomendar el tutorial que estoy siguiendo, por que me parce muy bien explicado para empezar, con muchos ejemplos y bien escalonado, bien aquí lo dejo
http://todohacker.com/tutoriales/lenguaje-batch
Es de otro foro, pero aquí lo que importa es aprender no?  :silbar:
mi problema es con las variables, es un ejercicio en el que tienes que sumar 2+2  (ese no es mi problema sigue leyendo :P) y si te da la respuesta correcta pues vas al menú "correcto", si no lo es al menú que pongas como "incorrecto", pues no consigo que me mande a la pagina de la respuesta incorrecta, imagino que es un ejercicio que la mayoría habréis hecho, ayudarme, quiero seguir con el tema y esto no me deja...
Código:
@echo off
echo.
set/P saltar= quiere saltar e ir al menu? n/y
echo.
if %saltar%==y goto menu else goto completo
cls
:completo
echo.
echo programa de prueba programacion básica
echo.
pause>null
cls
echo.
echo ===============================
echo  aprendiendo a hacer una pausa
echo ===============================
echo.
echo para continuar pulsa una tecla
pause>null
echo ==============================================
echo con este ejercicio se aprenden a usar las variables
echo ==============================================
echo.
echo pulse una tecla y rellene los datos
pause>null
cls
echo.
set/P nombre= introduzca su nombre
cls
set/P edad= ahora tu edad
cls
echo.
echo=========================================================
echo este programa a sido creado por %nombre% a la edad de %edad% años
echo=========================================================
echo.
echo pulsa una tecla para continuar
pause>null
cls
echo.
echo=======================================================
echo ahora usamos el script para realizar una suma
echo=======================================================
echo.
pause
cls
echo.
set/P numero1= introduce el primer numero de la suma
echo.
echo pulsa enter para continuar
pause>null
cls
echo.
set/P numero2= introduce el segundo numero
echo.
echo pulsa enter
set/a multiplicacion= %numero1% + %numero2%
pause>null
cls
echo.
echo el resultado es %multiplicacion%
echo.
echo pulse cualquier tecla
pause>null
cls

echo.
echo as llegado al menu de el programa %nombre%
echo a partir de ahora puedes decidir a donde quieres ir
pause

cls
:menu
echo.
echo==================
echo MENU DE SELECCION
echo==================
echo __________________
echo 1)haz una suma :)
echo 99)salir
set/P ver=cual eliges?
cls
echo.
if %ver%==1 goto suma else goto menu
if %ver%==99 goto salir else goto menu
cls
:suma
echo.
echo PRUEBA DE LA SUMA,variables 2
echo==============================
echo.
set/P result=cuanto es 2+3?
if %result%==5 goto correcto else goto incorrecto
:correcto
cls
echo.
echo por el culo te la inco!! ;)
pause>null
goto :menu
cls
:incorrecto
echo.
echo noo, estas prestando atencion?!
echo.
pause>null
goto :suma

:salir
echo.
echo el script se cerrará, bye %nombre%
echo.
pause
exit
el código es algo mas largo, pero el problema debe de estar por aquí, si lo necesitáis entero lo modifico y lo pongo completo
MODIFICO: lo pongo completo, así no hay que pedir nada
Antes de que nadie diga nada, ya se que me he comido una c, daña a la vista perdón
Todo va bien ahora que lo he ordenado un poco, menos lo que comento, cuando una respuesta es incorrecta no me manda al menu correcto, las da todas por correctas, estoy utilizando bien "else"?  :huh:
Modifico: voy a poner donde creo que esta el error a ver si sirve de algo  :-\
Código:
if %ver%==1 goto suma else goto menu
if %ver%==99 goto salir else goto menu

Código:
if %result%==5 goto correcto else goto incorrecto
está bien puesto? nadie dice nada...  :(
MODIFICO
Aquí os dejo otro programa que intento hacer, con el mismo problema, agradecería ayuda para avanzar en el tema
Código:
@echo off
color 0a
cls
echo.
echo::::::::::::::::::::::::::::::::
echo juagando con el lenguaje batch
echo::::::::::::::::::::::::::::::::
pause>null
cls
echo.
echo ========================================
echo personalizar programa con su nombre? s\n
echo ========================================
echo.
set/P personalizar=
if %personalizar%==s goto personalizar else goto menuP
:personalizar
echo.
echo introduzca su nombre
echo.
set/P root=
pause>null
color 0a
:menuP
cls
echo.
echo ===============
echo MENU PRINCIPAL
echo ===============
echo %root% seleccione una opcion
echo *****************************
echo 1)volver a editar nombre
echo 2)abrir una terminal (cmd)
echo 99)salir
set/P optionMP=
if %optionMP%==1 goto personalizar
if %optionMP%==2 goto start_cmd
if %optionMP%==99 goto salir
pause>null
:start_cmd
echo .
echo iniciando consola...
start cmd.exe
pause
goto menuP
:salir
cls
echo ____________________$____________________
echo ___________________$$$___________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo ___$$$____________$$$$$___________$$$____
echo ____$$$$$_________$$$$$________$$$$$_____
echo _____$$$$$$$______$$$$$_____$$$$$$$______
echo _______$$$$$$$____$$$$$___$$$$$$$________
echo _$$$$$$$______$$$__$$$__$$$______$$$$$$$_
echo _____$$$$$$$$____$$_$_$$____$$$$$$$$_____
echo _________$$$$$$$$$_$$$_$$$$$$$$$_________
echo ________________$$$_$_$$$________________
echo ____________$$$$$___$___$$$$$____________
echo ___________$________$________$___________
echo ____________________$____________________

echo %root% esta saliendo de el programa...
echo pulse enter para cerrar el script
pause>null
exit

En este caso cuando le doy a no personalizar el programa me pone el menú de personalizar igualmente.  :huh:
SOLUCIONADO!!  ;-) ;-) Ale ya entendí por que es, seguro que no se me olvida nunca  ;D
Ya que he posteado mil cosas mal echas pondré el código bien escrito para que si a alguien le pasa lo mismo vea por que es;
Código:
@echo off
color 0a
cls
echo.
echo::::::::::::::::::::::::::::::::
echo juagando con el lenguaje batch
echo::::::::::::::::::::::::::::::::
pause>null
:personalizarM
cls
echo.
echo ========================================
echo personalizar programa con su nombre? s\n
echo ========================================
echo.
set/P personalizar=
if %personalizar%==s goto personalizar
if %personalizar%==n goto menuP
goto personalizarM
:personalizar
cls
echo.
echo introduzca su nombre
echo.
set/P root=
pause>null
color 0a
:menuP
cls
echo.
echo ===============
echo MENU PRINCIPAL
echo ===============
echo %root% seleccione una opcion
echo *****************************
echo 1)volver a editar nombre
echo 2)abrir una terminal (cmd)
echo 3)crear archivo de texto
echo 99)salir
set/P optionMP=
if %optionMP%==1 goto personalizar
if %optionMP%==2 goto start_cmd
if %optionMP%==3 goto texto
if %optionMP%==99 goto salir
goto menuP
pause>null
:start_cmd
echo .
echo iniciando consola...
start cmd.exe
pause
goto menuP
:texto
echo =========================
echo crear un archivo de texto
echo =========================
echo.
echo pulsa una tecla para crear un archivo de texto
echo este texto se a escrito por el script bat2 > bat2.txt
echo creado por hckcrck >> bat2.txt
pause>null
echo archivo creado, pulse una tecla para continuar
pause>null
:txtM
cls
echo.
echo %root% a creado un archivo, que desea hacer con el?
echo ===================================================
echo 1)abrirlo
echo 2)eliminarlo
echo 3)nada
set/P otxt=
if %otxt%==1 goto optxt
if %otxt%==2 goto elimtxt
if %otxt%==3 goto menuP
goto menuP
:optxt
cls
echo.
echo abriendo archivo...
start bat2.txt
pause>null
goto txtM
:elimtxt
cls
echo.
echo seguro que desea eliminar bat2.txt? s/n
set/P elimtxt=
if %elimtxt%==s goto deltxt
if %elimtxt%==n goto txtM
pause_null
goto txtM
:deltxt
del bat2.txt
echo.
echo archivo eliminado correctamente %root%
echo =============================================
echo pulsa una tecla para volver al menu principal
echo =============================================
pause>null
goto menuP
:salir
cls
echo ____________________$____________________
echo ___________________$$$___________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo ___$$$____________$$$$$___________$$$____
echo ____$$$$$_________$$$$$________$$$$$_____
echo _____$$$$$$$______$$$$$_____$$$$$$$______
echo _______$$$$$$$____$$$$$___$$$$$$$________
echo _$$$$$$$______$$$__$$$__$$$______$$$$$$$_
echo _____$$$$$$$$____$$_$_$$____$$$$$$$$_____
echo _________$$$$$$$$$_$$$_$$$$$$$$$_________
echo ________________$$$_$_$$$________________
echo ____________$$$$$___$___$$$$$____________
echo ___________$________$________$___________
echo ____________________$____________________

echo %root% esta saliendo de el programa...
echo pulse enter para cerrar el script
pause>null
exit
como veis añado goto y el menú donde me encuentro para que si no se marca ninguna opción predefinida, haga un bucle, no se como no se me a ocurrido antes  :P
Citar
if %personalizar%==s goto personalizar
if %personalizar%==n goto menuP
goto personalizarM
Creo que lo voy pillando, para ser el primer día estoy contento, seguramente seguiré dando el coñazo por aquí  ;D


14  Programación / Scripting / probrema al crear un bat sencillo en: 14 Junio 2016, 18:40 pm
Hola a todos, pues me he decidido a empezar a aprender lo básico, esta vez con una base mas solida, espero contar con vuestra ayuda, ya que puedo ser un poco pesao y se me escapan cosas básicas, pero todo es ponerse con ganas, y no me faltan :)
El caso es que estoy creando un bat, sin una función específica, solo navegar por los menús y salir, para familiarizarme un poco con el tema, pero no se que pasa, estoy usando cmd.exe desde wine, y me a tirado un error con el programa, asi que he salido de la consola y me he ido al bat para ver que podía ser, pero al volver a abrir la consola... Sorpresaaa  :(
Citar
Microsoft Windows 5.1.2600 (1.8.2)

Z:\root\Escritorio\bat_cmd>err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng16.so.16
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng16.so.16
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng16.so.16
y así sucesivamente...
no creo habérmela cargado  :o os dejo el código para que le echéis un vistazo
Código:
@echo off
color OA
mode con cols=50 lines=15
tittle "programa experimental"
:menu
cls
echo ===================
echo 1)menu de mensajes
echo 2)menu de opciones
echo 3)salir
echo ===================
echo {/////////\\\\\\\\\}

set /P ver=elige una opcion
if%ver%== 1 goto mensajes
if%ver%== 2 goto opciones
if%ver%== 3 goto salir
goto menu

:mensajes
msg * esta es una prueba, debería aperecer un mensaje en primera posición
msg * segunda posicion
msg * tercera posicion
goto menu

:opciones
echo para que este menu funcione, has de aprender mas...
pause
echo.
echo pulsa cualquier tecla para volver al menu principal
pause>null
goto menu

:salir
echo saliendo de el programa...
pause
echo pulse cualquier tecla para cerrar el script
pause>null
exit
El programa puede tener varios errores, por lo menos uno aqui
Código:
set /P ver=elige una opcion
if%ver%== 1 goto mensajes
if%ver%== 2 goto opciones
if%ver%== 3 goto salir
goto menu
que es el que me marcaba la terminal antes de saltarme ese error.
En realidad esto son dos temas en uno  :xD me pregunto que le pasa a mi consola y si el bat tiene algo que ver, y que error hay en el dichoso bat, por ejemplo, otro error es que se supone que debe aparecer el fondo negro y las letras verdes, y me sale tal cual, fondo negro letras grises.
Si he planteado algo mal y necesitáis cualquier aclaración me la pedís, yo la doy encantado  ;D
PD: Utilizo kali linux
Al preguntar que versión de wine utilizo me da error, el problema es de wine, veré si reinstalando se soluciona...
15  Sistemas Operativos / GNU/Linux / Sorpresa al arrancar wifislax... [][][][][][] en: 11 Junio 2016, 16:24 pm
Resulta que esta mañana arranco mi ordenador, y cuando se inicia todo bien, pero al llegar al escritorio...  :o me sale wifislax updater, pero en vez de  letras me salen cuadrados [][][][][] como si no reconociese la fuente, me pasa con algunas aplicaciones y con otras no, la verdad es que no entiendo que a podido pasar. Estuve intentando instalar kali linux, pero estoy seguro de no haber tocado nada que pudiera dañar wifislax, si me echaseis una manita os lo agradecería  :)



El problema a empeorado!! agradeceria un poco de ayuda  :huh: :o
Ahora resulta que el disco, que antes tenia libres 160gb, ahora no tiene ni un bit de espacio!! :o :o :o
no me he descargado nada, he estado por el foro y solo lo he tocado el ordenador para ordenarle el escritorio y escribir algún mensaje.
No se que puede estar pasando, lo reiniciare y veré que pasa.



Acabo de reiniciarlo y parece que todo esta como antes, habrá que ver si sigue así o me da otra sorpresa, lo de las letras pase, me preocupa algo menos, pero quedarme sin espacio en el disco de repente me preocupa bastante, de todas formas ya tengo el espacio libre de nuevo, Pero iré echándole el ojo a ver que pasa...  :huh:


[MOD] Usar el botón "modificar" para añadir comentarios, gracias.
16  Foros Generales / Foro Libre / Quiero ser hacktivista!! en: 8 Junio 2016, 20:34 pm
Bueno o algo así, mi problema es el siguiente, soy bastante novato, no tengo conocimientos de programación, ni de nada básicamente, se usar los programas, pero no se hacer uno, solo se de su funcionamiento en un 20%, básicamente soy un lammer, lo reconozco  :( ya esta dicho.
El caso es que me gustaría hacer algo por cambiar este mundo, y se que si cambia algo de aquí a un tiempo, los hackers tendrán mucho que ver, ya que vivimos en una sociedad en la que los ordenadores manejan nuestra información mas sensible, no solo tuya o mía, también la de los peces gordos que nos roban y nos controlan, sus chanchullos, sus estrategias... Por eso me preguntaba si habría alguna forma en la que yo (o personas como yo) pudiesen ser útiles en algún aspecto, no puedo crear un exploit que ponga a mis pies cualquier dispositivo,(bueno me he pasao, eso ni yo ni ¿nadie?) pero se hacer otras cosas, motivos y ganas no me faltan.
Me juego las dos manos a que por este foro hay por lo menos un hactivista que podría darme alguna idea sobre en que podría ser útil,  o directamente decir que no valgo para nada sin conocimientos avanzados, que es lo mas probable  :-(
Gracias por vuestra paciencia   ;-)
17  Seguridad Informática / Bugs y Exploits / tonteando con metaphor y stagefright en: 24 Mayo 2016, 16:23 pm
Hola a todos, recientemente he adquirido los famosos exploits para android metaphor y stagefright ;D, el segundo fue difícil de hacerlo funcionar, ya que había que hacer algunos cambios, pero al fin tengo estos dos exploits con los que desde hace tiempo quería trastear ;-), pero como no, soy un novato, y como todo novato tengo dudas nada mas empezar, así que sin mas preámbulos hay os dejo unas preguntas a ver si alguien es capaz de contestarme;
  1) Alguien a conseguido hacer funcionar alguno de estos dos exploits? he visto bastantes vídeos en youtube en los que supuestamente se ponía a funcionar stagefright, pero todos dejan de grabar cuando el exploit comienza (supuestamente) a hacer su trabajo, en la parte mas interesante  :-(, comienzan a escuchar el puerto 4444 (o el que le quieran poner) con netcat y se corta el vídeo sin dejar ver si realmente funciona, el caso es que yo me he quedado en el mismo sitio, he introducido el archivo mp4 en un sony experia tipo, y lo único que a pasado es que se a reiniciado, netcat no capta nada.
  2)Alguien a probado alguna vez el metaphor?? respecto a este exploit estoy totalmente en blanco, se que funciona (o creo que se, soy novato ya lo he dicho :P) a trabes del navegador, el archivo multimedia se aloja en una pagina web maliciosa y se descarga en el móvil de la víctima (mi pobre experia tipo,  ;D la de cosas que le hago al pobre) comprometiendo su sistema, pero... como lo configuro, he buscado y buscado en internet y si había pocas cosas (útiles) de stagefright, menos hay aun de metaphor.
     Me gustaría poder contribuir en algo a este mundillo con un tutorial lo mas detallado posible de el uso de ambos exploits, así que recopilare información por diversos sitios, y espero conseguirlo con vuestra ayuda.


(perdon por las flatas de antemano :P)

aqui unos videos que he podido encontrar;
stagefright



aqui configurandolo despues de descargarlo, he visto a mucha gente hecha un lio con este tema:



Aqui un tutorial del uso de stagefright, como ya he dicho, cortado en lo mas interesante...  :-\



metaphor;
este video muestra su supuesto funcionamiento, pero no he conseguido nada mas, aparte de demostraciones muy parecidas



cualquiera que haya curioseado un poco ya habra visto estos videos, pero poco es mejor que nada.
Bueno asta aqui lo que puedo aportar de momento, seguire dandole vueltas, a ver si alguien se anima y me ayuda con este tema.

modificacion;
aqui os dejo un archivo pdf que venia con metaphor, yo no entiendo ni papa de ingles  :-\ pero parece que viene muy bien explicado, para los que sepan ingles aqui les dejo el link para descargarlo;
https://raw.githubusercontent.com/NorthBit/Public/master/NorthBit-Metaphor.pdf
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines