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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ejercicio: .bat que distribuye archivos por su extensión
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicio: .bat que distribuye archivos por su extensión  (Leído 2,021 veces)
miguelangelss4

Desconectado Desconectado

Mensajes: 70



Ver Perfil
Ejercicio: .bat que distribuye archivos por su extensión
« en: 24 Noviembre 2007, 20:47 pm »

Hola, tengo un problema con un .bat
El enunciado del ejercicio es: Dado un directorio con archivos de distintas extensiones dentro, el bat deberá crear una carpeta dentro del directorio donde están los archivos para cada extensión de archivo, con el nombre DIRext y luego mover cada archivo a una carpeta en función de su extensión, de forma que dada la estructura siguiente:

+---DIRECTORIO
       -  1.exe
       -  2.exe
       -  1.doc
       -  1.txt
       -  2.txt

El resultado tras aplicar el bat, debería ser:

+---DIRECTORIO
      +---DIRexe
      |            -  1.exe
      |            -  2.exe
      +---DIRdoc
      |            -  1.doc
      \---DIRtxt
                   -   1.txt
                   -   2.txt

He escrito el siguiente código:
Código:
@ECHO OFF
CLS
IF "%1"=="" GOTO Vacio
:Bucle
IF "%1"=="" GOTO Fin
IF NOT EXIST %1 GOTO NoExist
GOTO Exist
:Vacio
ECHO Debe introducir un parametro.
GOTO Fin
:NoExist
ECHO --------------------------------------------------------------------
ECHO El archivo %1 no existe en la ubicacion especificada.
ECHO Asegurese de que la ubicacion y el nombre del archivo son correctos.
TYPE Espacios.txt
ECHO FICHERO: %1
ECHO UBICACION: %~p1
ECHO --------------------------------------------------------------------
GOTO Param
:Exist
MD %~p1\DIR%~x1
MOVE %1 %~p1\DIR%~x1
:Param
SHIFT
GOTO Bucle
:Fin
Y funciona casi perfectamente, solo que en vez de crear DIRexe, DIRtxt y DIRdoc me ha creado las carpetas DIR.exe, DIR.txt y DIR.doc; y además de eso el bat está hecho para que se cree una carpeta por cada archivo, y como hay dos .exe y dos .txt me sale el mensaje de "ese directorio ya existe y no se puede crear..." y me gustaría corregir esas dos cosas, si es posible.

NOTA: estoy empezando en esto y llevo solo un día estudiando los .bat, asíque por favor no os salgais de lo más básico.


GRACIAS


« Última modificación: 25 Noviembre 2007, 17:25 pm por miguelangelss4 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Vueling advierte a los usuarios de una falsa promoción que se distribuye a ...
Noticias
wolfbcn 0 1,670 Último mensaje 26 Diciembre 2010, 03:03 am
por wolfbcn
Ayuda T_T - Ejercicio de Archivos en C
Programación C/C++
palacio29 4 2,405 Último mensaje 26 Septiembre 2016, 14:36 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines