Tengo un disco duro con un monton de documentales y videos en general, los cuales quiero ver en la wii por la noche y dormirme con ellos (si me gusta dormir escuchando la somnifera voz de los tios de los documentales y ademas algo se retiene xD) pero hay un problema esos documentales no suelen durar mas de 45-50 minutos (en general) y claro yo queria que se fueran reproduciendo uno detras de otro pero aqui viene el problema cada archivo estaba metido en una carpeta con su mismo nombre (me los descargaba asi por descarga directa) y bueno era tarea de chinos sacar uno a uno los videos para poder verlos en la wii del tiron asique hice este script para que me automatizara esto un poco, se aceptan sugerencias, criticas, etc incluso insultos xD
:menu
cls
echo Autor: --KiLiaN--
(s
) Salir.
echo 1- Quitar de los nombres de las carpetas esos molestos .avi, .mp3, etc..
echo 2- Sacar archivos de TODAS las carpetas afuera y
del tiron, sin pensartelo..
echo 3- Volver ha meter los archivos en sus respectivas carpetas..
(sino las crea
).
echo 4- Elimina las carpetas vacias despues de sacar los archivos..
set /p option=Escoge chavalote/a:
if "
%option%"=="1"
goto :
option1 if "
%option%"=="2"
goto :
option2 if "
%option%"=="3"
goto :
option3 if "
%option%"=="4"
goto :
option4
:option1
rem Podeis añadir mas extensiones o cambiarlas aqui.
echo Proceso terminado, pulsa algun boton para volver al menu..
& pause
>nul
:option2
echo Proceso terminado, pulsa algun boton para volver al menu..
& pause
>nul
:option3
(@move /Y "
%%i" "
%%~ni"
))
(@move /Y "
%%i" "
%%~ni"
))
(@move /Y "
%%i" "
%%~ni"
))
rem Si no existe la carpeta con el nombre de archivo la crea y luego mueve el archivo a la
carpeta creada. SOLO PARA .avi, .mp3 y .mp4.
echo Proceso terminado, pulsa algun boton para volver al menu..
& pause
>nul
:option4
rem El comando RD unicamente borra una carpeta si esta vacia.
echo Proceso terminado, pulsa algun boton para volver al menu..
& pause
>nul
:EOF
Espero que a alguien le ayude el codigo
y perdon por el tocho contandoos mi vida xD
V2.0He hecho algunas modificaciones en el script y lo he aligerado un poco, os lo dejo aqui para que podais comparar y ver las diferencias, ala un saludo xD
cls
:: By -- KiLiaN --
color 02
::Primero comprueba si ya existen carpetas con nombres de archivos y si existen mueven el archivo a su carpeta. Despues comprueba archivo por archivo si existe su carpeta y si no existe la crea para moverse a su interior. Luego borra las carpetas vacias.
Set ext=.avi .mp3 .divx .mp4 .AVI .MP3 .Dvd-Rip .mpg .DVD
(@move /Y "
%%i" "
%%~ni"
)))
::rem El comando RD unicamente borra una carpeta si esta vacia.
::Quita de los nombres de las carpetas las extensiones.
::Aqui oculta todas las carpetas que tengan alguna parte con esta nomenclatura [1-] No limpia los nombres.
For /F "delims=*"
%%i in ('
Dir /B /A:D
^| Findstr /R \[1-'
) do (attrib +H "
%%i"
)
::Cambia por espacios los (.,-[]) de los nombres de las carpetas que no tengan la nombenclatura [1-x-x] (que no esten ocultas).
::Aqui restauramos los nombres de las carpetas que tengan alguna parte con esta nomenclatura [1- (las ocultas). Yo las dejo asi para poder cambiarlas a mano.
For /F "delims=*"
%%i in ('
Dir /B /A:H
^| Findstr /R \[1-'
) do (attrib -H "
%%i"
)
::Pasa a mayusculas SOLO LA PRIMERA LETRA, para ello calcula cuando mide (en caracteres) el nombre y saca la primera letra y el resto del nombre, luego comprueba si la primera letra esta en minuscula, y dependiendo de cual sea la cambia por su mayuscula y la une al resto del nombre.
if !primeraletra!==a
(ren "
!String!" "A!newresto!"
& echo. Cambiado
!String! por A!newresto! & break
) if !primeraletra!==b
(ren "
!String!" "B!newresto!"
& echo. Cambiado
!String! por B!newresto! & break
) if !primeraletra!==c
(ren "
!String!" "C!newresto!"
& echo. Cambiado
!String! por C!newresto! & break
) if !primeraletra!==d
(ren "
!String!" "D!newresto!"
& echo. Cambiado
!String! por D!newresto! & break
) if !primeraletra!==e
(ren "
!String!" "E!newresto!"
& echo. Cambiado
!String! por E!newresto! & break
) if !primeraletra!==f
(ren "
!String!" "F!newresto!"
& echo. Cambiado
!String! por F!newresto! & break
) if !primeraletra!==g
(ren "
!String!" "G!newresto!"
& echo. Cambiado
!String! por G!newresto! & break
) if !primeraletra!==h
(ren "
!String!" "H!newresto!"
& echo. Cambiado
!String! por H!newresto! & break
) if !primeraletra!==i
(ren "
!String!" "I!newresto!"
& echo. Cambiado
!String! por I!newresto! & break
) if !primeraletra!==j
(ren "
!String!" "J!newresto!"
& echo. Cambiado
!String! por J!newresto! & break
) if !primeraletra!==k
(ren "
!String!" "L!newresto!"
& echo. Cambiado
!String! por K!newresto! & break
) if !primeraletra!==l
(ren "
!String!" "L!newresto!"
& echo. Cambiado
!String! por L!newresto! & break
) if !primeraletra!==m
(ren "
!String!" "M!newresto!"
& echo. Cambiado
!String! por M!newresto! & break
) if !primeraletra!==n
(ren "
!String!" "N!newresto!"
& echo. Cambiado
!String! por N!newresto! & break
) if !primeraletra!==ñ
(ren "
!String!" "Ñ!newresto!"
& echo. Cambiado
!String! por Ñ!newresto! & break
) if !primeraletra!==o
(ren "
!String!" "O!newresto!"
& echo. Cambiado
!String! por O!newresto! & break
) if !primeraletra!==p
(ren "
!String!" "P!newresto!"
& echo. Cambiado
!String! por P!newresto! & break
) if !primeraletra!==q
(ren "
!String!" "Q!newresto!"
& echo. Cambiado
!String! por Q!newresto! & break
) if !primeraletra!==r
(ren "
!String!" "R!newresto!"
& echo. Cambiado
!String! por R!newresto! & break
) if !primeraletra!==s
(ren "
!String!" "S!newresto!"
& echo. Cambiado
!String! por S!newresto! & break
) if !primeraletra!==t
(ren "
!String!" "T!newresto!"
& echo. Cambiado
!String! por T!newresto! & break
) if !primeraletra!==u
(ren "
!String!" "U!newresto!"
& echo. Cambiado
!String! por U!newresto! & break
) if !primeraletra!==v
(ren "
!String!" "V!newresto!"
& echo. Cambiado
!String! por V!newresto! & break
) if !primeraletra!==w
(ren "
!String!" "W!newresto!"
& echo. Cambiado
!String! por W!newresto! & break
) if !primeraletra!==x
(ren "
!String!" "X!newresto!"
& echo. Cambiado
!String! por X!newresto! & break
) if !primeraletra!==y
(ren "
!String!" "Y!newresto!"
& echo. Cambiado
!String! por Y!newresto! & break
) if !primeraletra!==z
(ren "
!String!" "Z!newresto!"
& echo. Cambiado
!String! por Z!newresto! & break
) )
Echo 100
%......Completado.
:cuentaletras
Echo !String! >TemporalText.d
FindStr /O "^" TemporalText.d >Temporaltemp.dat
For /F "skip=1 delims=: "
%%e in (Temporaltemp.dat
) do (set /a letra=
%%e - 3
& Del /Q
set resto=
!String:~1,% style="color: #448888;">letras%! set primeraletra=
!String:~0,1! set newresto=
!resto:~1,% style="color: #448888;">letras%!
:limpieza