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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Script para extraer listado mp3
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Script para extraer listado mp3  (Leído 6,779 veces)
ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Script para extraer listado mp3
« en: 22 Diciembre 2011, 14:09 pm »

Feliz navidad a todos. Bueno este es mi primer bat ^^, y la verdad es que todo se ejecuta bien excepto que no redirecciona en el caso de errorlevel 2

Código:
@echo off
color 0A
title Listar archivos carpetas

:start
set /p ruta=Inserte la ruta de la carpeta:
echo.
cd %ruta%
if errorlevel 1 (echo Inserto una ruta incorrecta, vuelva a introducirla. & cls & goto start)

:accion
set /p nombre_archivo=Inserte el nombre de archivo de texto donde guardar el resultado:
if exist "%ruta%\%nombre_archivo%.txt" (choice /c sn /m "Desea sobreescribir archivo, Si(s) o no(n):  ") else goto escribir
if errorlevel 1 goto escribir
if errorlevel 2 (cls & goto accion)


:escribir
dir /b *.mp3>%nombre_archivo%.txt
pause>nul

Una ayudita please ^^


En línea

ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: Script para extraer listado mp3
« Respuesta #1 en: 22 Diciembre 2011, 15:00 pm »

Solucionado, pensaba que aunque fuese la lectura linea por linea detectaria que errorlevel uno no fue la opcion elegida, pero al parecer no es asi, la lee y la ejecuta... tiene leches ^^

El correcto sería asi
Código:
@echo off
color 0A
title Listar archivos carpetas

:start
set /p ruta=Inserte la ruta de la carpeta:
echo.
cd %ruta%
if errorlevel 1 (echo Inserto una ruta incorrecta, vuelva a introducirla. & cls & goto start)

:accion
set /p nombre_archivo=Inserte el nombre de archivo de texto donde guardar el resultado:
if exist "%ruta%\%nombre_archivo%.txt" (choice /c sn /m "Desea sobreescribir archivo, Si(s) o no(n):  ") else goto escribir
if errorlevel 2 (cls & goto accion)
if errorlevel 1 goto escribir


:escribir
dir /b *.mp3>%nombre_archivo%.txt
pause>nul

En otros lenguajes la primera sentencia hubiera no se hubiese ejecutado y hubiera saltado a la siguiente. Es una peculiaridad de este lenguaje???


En línea

ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: Script para extraer listado mp3
« Respuesta #2 en: 22 Diciembre 2011, 20:14 pm »

Suponiendo que quisiera preguntar al user, el formato de la musica a listar... como podria concantenar los string de manera que al final la linea de ejecucion vaya ampliando formatos. Me explico:

Si tengo la linea que ejecuta el listado, para mp3:

dir /b *.mp3>%nombre_archivo%.txt

Y al preguntar al user, decide tambien listar los flac de la carpeta. Como puedo concatenar de manera que quedase asi:

dir /b *.flac & dir /b *.mp3>%nombre_archivo%.txt

Con algun tipo de bucle quizas??
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Script para extraer listado mp3
« Respuesta #3 en: 23 Diciembre 2011, 09:52 am »

Citar
Como puedo concatenar de manera que quedase asi:
dir /b *.flac & dir /b *.mp3>%nombre_archivo%.txt

También podría ser así xD:
Código
  1. dir /b "*.flac"; "*.mp3" > "%nombre_archivo%.txt"



¿Lo que buscas es algo así?

Código
  1. @echo off
  2.  
  3. REM MP3
  4. Call :Listar MP3
  5.  
  6. REM FLAC
  7. choice /M "Desea listar los flac tambien?"
  8. If %ErrorLevel% Equ 1 (Call :Listar FLAC)
  9.  
  10. REM M4A
  11. choice /M "Desea listar los M4A tambien?"
  12. If %ErrorLevel% Equ 1 (Call :Listar M4A)
  13.  
  14.  
  15.  
  16. :Listar
  17. dir /b "*.%1">>"%nombre_archivo%.txt"
  18. Goto :EOF

Un saludo.


EDITO: En tu script, recuerda usar comillas dobles aquí para evitar futuros errores:



Código
  1. cd "%ruta%"
y
Código
  1. dir /b "*.mp3">"%nombre_archivo%.txt"
« Última modificación: 23 Diciembre 2011, 10:36 am por EleKtro H@cker » En línea



ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: Script para extraer listado mp3
« Respuesta #4 en: 23 Diciembre 2011, 15:29 pm »

Muchas gracias EleKtro H@cker, es peliculiar este idioma... intente usar operadores logicos, dir /b *.flac || *.mp3; pero claro no rulaba ^^.

Lo del call es muy interesante pero pensaba que servia para otra cosa, segun lei en otros manuales. Pero es bueno saber que puedes hacer llamadas a las etiqutas. Cito:

Citar
El comando call es realmente util. Sirve para llamar a un programa y que se ejecute dentro de el nuestro, cuando acabe de ejecutarse seguira corriendo nuestro bat principal desde el call.

Es mas o menos lo que buscaba, e imagino que me he explicado mal. Mi idea era mas en el sentido de una pregunta unica de modo: "Introduzca la extension de los formatos a listar: " ; de manera que se introduciria por comas: mp3, flac, mp4. Al dar al enter hiciese:

dir /b "*.%1" ; "*.%2" ; "*.%3"

De esa manera no tendria que sobreescribir el archivo varias veces.  Imagino que seria necesario un bucle de lectura o algo asi; para ir añadiendo a alguna variable los resultados. Voy a ver si me entero de la estructura de los for en este lenguaje ^^.

Lo dicho muchas gracias por tu respuesta
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Script para extraer listado mp3
« Respuesta #5 en: 23 Diciembre 2011, 18:51 pm »

De nada para eso estamos  :silbar:

olvidate de tanto bucle xD, son útiles y esto se podría hacer con un FOR pero muchas veces se puede simplificar las cosas sin necesidad de bucles...

Ahora que entiendo mejor tu idea, aqui tienes:



Código:
@echo off

Set /P Formatos=Introduzca la extension de los formatos a listar:
Set Formatos=%formatos: =%
Set Formatos=%formatos:,=; *.%
Call :Listar %Formatos%
Pause
Exit

:Listar
dir /b *.%*>"%nombre_archivo%.txt"
Goto :EOF


Código
  1. @echo off
  2. Set /P Formatos=Introduzca la extension de los formatos a listar:
  3. For /F "tokens=1-10 delims=, " %%a in ('Echo %formatos%') do (
  4. Dir /B *.%%a; *.%%b; *.%%c; *.%%d; *.%%e; *.%%f; *.%%g; *.%%h; *.%%i>"%nombre_archivo%.txt")

Nota: Estos codes funcionan suponiendo que el usuario introduzca los formatos de tal manera

mp3, flac, m4a, wma, wav, etc...
o
mp3,flac,m4a,wma,wav,etc...



PD: Los dos codes actuan igual, lo he comprobado, aunque al final con el FOR lo he simplificado más jaja, pero bueno, no siempre suele ser asi... creo que es mejor opción buscar alternativas y jugar con los parametros como en el primer code. No se si los demás pensarán como yo xDDDD, tu crea tus scripts como mejor sepas pero intentando simplificarlo.

Saludos
« Última modificación: 23 Diciembre 2011, 19:13 pm por EleKtro H@cker » En línea



ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: Script para extraer listado mp3
« Respuesta #6 en: 23 Diciembre 2011, 20:46 pm »

Muchas gracias voy a analizar tu codigo, que empezando con el cuesta un pelo  ^^
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Script para extraer datos de bsqli en python
Nivel Web
nacho87 0 3,050 Último mensaje 2 Noviembre 2009, 21:09 pm
por nacho87
Extraer rutas de archivo oculto con php script
PHP
mand45 5 7,357 Último mensaje 25 Febrero 2010, 20:12 pm
por mand45
Actualizamos el listado de servidores seguros para Emule para este año 2011
Noticias
wolfbcn 1 14,360 Último mensaje 18 Enero 2011, 23:00 pm
por granulia
Script cmd para extraer solo números en un texto.
Scripting
lizana16288 3 5,597 Último mensaje 30 Abril 2016, 13:55 pm
por Eleкtro
duda script listado de procesos
Scripting
ferchundo9 3 4,818 Último mensaje 1 Marzo 2018, 18:37 pm
por pangeasi
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines