Código de Ms-Dos - organizador

Imágen de perfil
Val: 16
Ha disminuido 1 puesto en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

organizadorgráfica de visualizaciones


Ms-Dos

Publicado el 9 de Mayo del 2019 por Gabi (6 códigos)
1.528 visualizaciones desde el 9 de Mayo del 2019
Proceso batch para organizar archivos dentro de directorios/subdirectorios.

Genera una carpeta backup en el directorio desde que se ejecute (que será el directorio raíz del proceso") y dentro de esta organizará los diferentes archivos que encuentre en 5 categorías(genera directorio para cada categoría):
- Audio
- Imagen
- Documentos
- Video
- Otros

Dentro de cada una de estas categorías, copia (no elimina) los archivos del directorio raiz y los diferentes subdirectorios.

El proceso recupera la fecha de modificación de los ficheros (se pude modificar para la fecha de creación, está comentado en el proceso) y crea subdirectorios en cada categoria, incluyendo en cada caso los ficheros por la fecha de modificación.

!!!AVISO!!! Para directorios con gran volumen de datos puede tardar mucho

Requerimientos

Necesario ms-dos o windows con interprete de comandos

1.0

Publicado el 9 de Mayo del 2019gráfica de visualizaciones de la versión: 1.0
1.529 visualizaciones desde el 9 de Mayo del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
@echo off & SetLocal EnableDelayedExpansion
REM variables
:: Directorios origen
SET origen=%~p0
:: Directorios destino
SET destino=%~p0%backup\
SET rutaAudio=%destino%01_audio\
SET rutaDoc=%destino%02_doc\
SET rutaImagen=%destino%03_imagen\
SET rutaVideo=%destino%04_video\
SET rutaOtro=%destino%05_otros\
:: Formatos a recuperar
SET audios=.aac .mp3 .ogg .wma
SET documentos=.acces .doc .docx .dot .ott .pdf .rtf .txt .tex .xls .xlsx .xml
SET imagenes=.bmp .gif .jpeg .jpg .png .svg
SET videos=.avi .divx .mp4 .mpeg .mpg .wmv
 
REM inicio del proceso
:: Recuperamos fecha y hora de inicio y se guarda en el fichero de salida
set inicio=%date% %time%
:: Si no existe directorio destino, se crea
if not exist "%destino%" md "%destino%"
 
:: Comienza en directorio origen y recorre todos los subdirectorios
for /r %%r in (.) do (
  :: Almacena las rutas de directorios y subdirectorios a tratar
  pushd %%r
 
  :: Llamada a funcion para organizar por tipo de archivo
  for %%f in ("*.*") do (
	call :tratar %%f
  )
 
  :: Descarta las rutas almacenadas
  popd
)
 
REM Fin del proceso
:: Recuperamos fecha y hora de inicio y se guarda en el fichero de salida
echo INICIO !inicio!
echo FIN %date% %time%
:: Finaliza el proceso
goto:EOF
 
REM Funciones
:tratar
:: parametro pasado al llamar a la funcion
set archivo=%1
:: tipo de archivo
set tipo=%~x1
:: Fecha del archivo. Para fecha de creacion SET varFecha=%~tc1
SET varFecha=%~t1
:: Recupera mes y año
SET varMes=!varFecha:~3,2!
SET varAny=!varFecha:~6,4!
SET varAAMM=!varAny!!varMes!
SET /a tratado=0
 
:: Comprueba si archivo es de Audio
for %%a in (!audios!) do (
  if !tratado!==0 (
    if /i !tipo!==%%a (
	  if not exist "!rutaAudio!" md "!rutaAudio!"
	  set ruta=!rutaAudio!!varAAMM!\
	  if not exist "!ruta!" md "!ruta!"
      copy !archivo! !ruta!
	  set /a tratado=1
    )
  )
)
 
:: Comprueba si archivo es Documento
if !tratado!==0 (
  for %%d in (!documentos!) do (
    if !tratado!==0 (
      if /i !tipo!==%%d (
        if not exist "!rutaDoc!" md "!rutaDoc!"
	    set ruta=!rutaDoc!!varAAMM!\
	    if not exist "!ruta!" md "!ruta!"
        copy !archivo! !ruta!
	    set /a tratado=1
      )
    )
  )
)
 
:: Comprueba si archivo es Imagen
if !tratado!==0 (
  for %%i in (!imagenes!) do (
    if !tratado!==0 (
      if /i !tipo!==%%i (
        if not exist "!rutaImagen!" md "!rutaImagen!"
	    set ruta=!rutaImagen!!varAAMM!\
	    if not exist "!ruta!" md "!ruta!"
        copy !archivo! !ruta!
	    set /a tratado=1
      )
    )
  )
)
 
:: Comprueba si archivo es Video
if !tratado!==0 (
  for %%v in (!videos!) do (
    if !tratado!==0 (
      if /i !tipo!==%%v (
        if not exist "!rutaVideo!" md "!rutaVideo!"
	    set ruta=!rutaVideo!!varAAMM!\
	    if not exist "!ruta!" md "!ruta!"
        copy !archivo! !ruta!
	    set /a tratado=1
      )
    )
  )
)
 
:: Si no es ninguno de los anteriores
if !tratado!==0 (
  if not exist "!rutaOtro!" md "!rutaOtro!"
  copy !archivo! !rutaOtro!
)



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5300