Bat para ejecutar tarea
Tengo una carpeta compartida en
Un servidor, en la cual una impresora escanea en ella, la cuestión es que se escanea demasiado y por capacidad de espacio en el
servidor y por seguridad no puedo dejar los documentos más de dos horas, en la
actualidad tengo un .bat que mediante el programador de tareas de Windows se
ejecuta cada 2 horas y me borra todo lo que se aloja en la carpeta, esto no es
del 100% efectivo ya que si un usuario escanea un documento y mientras va al pc
y entra a la carpeta se puede ejecutar la tarea y se borra el documento
sin dar tiempo de que lo guarde en su pc, "esto me ha pasado en varias ocasiones",
lo que quiero es crear un .bat que me elimine los documentos cuando estos ya
tengan dos horas de estar en la carpeta del servidor, ósea que cuando un
documento llegue a las dos horas de haberse creado en la
carpeta, automáticamente se borre.
Y lo otro que necesito es que
Cuando un archivo se borre de esa carpeta quede un registro en un txt con el nombre del archivo, solo
quiero tener un txt donde almacene los datos de todos los archivos que se van
borrando y la hora en que se borran.
Espero haberme sabido explicar y
Me puedas brindar una ayuda.
Un cordial saludo experto.
Ayer empecé las vacaciones de modo que estoy fuera de casa y no voy a estar tan pendiente de la red como habitualmente pero he visto hoy tu consulta. Este bat creo que resuelve lo que pides:
:: Para borrar archivos de más de 2 horas
:: Retocar la situación de la carpeta de trabajo para ajustarse a las necesidades
d:
cd tmp
for /f "tokens=1,2,3,*" %%i in ('dir /a-d /tw *.*') do ( call :comprobar %%i "%%l" %%j)
goto :EOF
:comprobar
if "%1"=="El" goto :EOF
if "%1"=="Directorio" goto :EOF
if %2=="bytes" goto :EOF
if %2=="bytes libres" goto :EOF
call :días %1
set /a d=j
call :días %DATE%
set /a d=j-d
set hhmm=%3
set hh=%hhmm:~0,2%
set mm=%hhmm:~3,2%
set /a min=60*hh + mm
set hh=%time:~0,2%
set mm=%time:~3,2%
set /a min=1440*d + 60*hh + mm - min
if /i %min% GTR 120 (
rem echo Archivo: %2 fecha: %1 Minutos: %min% tiene mas de 2 horas
del %2
echo %DATE% %TIME% borrado archivo %2 de %1 %3 >> d:\control\borrado.log
)
goto :EOF
:días
rem Rutina de calculo obtenida de http://multingles.net/docs/jmt/difecha.htm.
rem Agradecimientos a José Manuel Tella Llop ([email protected])
for /f "tokens=1,2,3 delims=-/." %%a in ("%1") do (
set dd=%%a&set mm=%%b&set aa=%%c)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
goto :EOF
Como se dice en los comentarios del BAT habría que retocar la situación de la carpeta de trabajo, en las líneas 3 y 4 (en este ejemplo D:\TMP) para ajustarse a la carpeta sobre la que se quiere trabajar (la carpeta compartida donde se guardan los archivos escaneados que se quieren borrar si hace más de dos horas que se crearon). Además he llamado BORRADO.LOG al archivo de registro de los borrados efectuados en lugar de BORRADO.TXT como sugerías porque la extensión LOG es más habitual para este tipo de cosas. Este archivo debería mantenerse en una carpeta diferente para evitar que fuese borrado a las dos horas. En el ejemplo supongo que se guarda en la carpeta D:\CONTROL.
Pruébalo y dime como te ha ido.
Si hay que ajustar alguna cosa dímelo también.
Suerte.
Hola experto;
Primero que todo quiero darte las gracias por su colaboración.
He corrido el código que me dejaste y he modificado los parámetros que me dijiste, pero no hace nada, lo único que crea es el Log con los datos que necesito, pero no me borra los archivos.
Este es el código que estoy corriendo:
D:
cd Prueba
for /f "tokens=1,2,3,*" %%i in ('dir /a-d /tw *.*') do ( call :comprobar %%i "%%l" %%j)
goto :EOF
:comprobar
if "%1"=="El" goto :EOF
if "%1"=="Directorio" goto :EOF
if %2=="bytes" goto :EOF
if %2=="bytes libres" goto :EOF
call :días %1
set /a d=j
call :días %DATE%
set /a d=j-d
set hhmm=%3
set hh=%hhmm:~0,2%
set mm=%hhmm:~3,2%
set /a min=60*hh + mm
set hh=%time:~0,2%
set mm=%time:~3,2%
set /a min=1440*d + 60*hh + mm - min
if /i %min% GTR 120 (
rem echo Archivo: %2 fecha: %1 Minutos: %min% tiene mas de 2 horas
del %2
Pause
echo %DATE% %TIME% borrado archivo %2 de %1 %3 >> C:\Control\borrado.log
)
goto :EOF
:días
for /f "tokens=1,2,3 delims=-/." %%a in ("%1") do (
set dd=%%a&set mm=%%b&set aa=%%c)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
goto :EOF
Pause
Y esto es lo que me muestra después de un pause que le puse para ver que hace:
C:\Users\80148984\Desktop>D:
D:\>cd Prueba
D:\Prueba>for /F "tokens=1,2,3,*" %i in ('dir /a-d /tw *.*') do (call :comprobar
%i "%l" %j )
D:\Prueba>(call :comprobar El "la unidad D es Recovery Image" volumen )
D:\Prueba>if "El" == "El" goto :EOF
D:\Prueba>(call :comprobar El "serie del volumen es: 5A61-C5DE" número )
D:\Prueba>if "El" == "El" goto :EOF
D:\Prueba>(call :comprobar Directorio "" de )
D:\Prueba>if "Directorio" == "El" goto :EOF
D:\Prueba>if "Directorio" == "Directorio" goto :EOF
D:\Prueba>(call :comprobar 07/07/2014 "m. 388.277 4581844 - Doc - 0707
2014.pdf" 09:58 )
D:\Prueba>if "07/07/2014" == "El" goto :EOF
D:\Prueba>if "07/07/2014" == "Directorio" goto :EOF
D:\Prueba>if "m. 388.277 4581844 - Doc - 07072014.pdf" == "bytes" goto
:EOF
D:\Prueba>if "m. 388.277 4581844 - Doc - 07072014.pdf" == "bytes libre
es" goto :EOF
D:\Prueba>call :dÝas 07/07/2014
D:\Prueba>for /F "tokens=1,2,3 delims=-/." %a in ("07/07/2014") do (set dd=%a &
set mm=%b & set aa=%c )
D:\Prueba>(set dd=07 & set mm=07 & set aa=2014 )
D:\Prueba>set /a dd=10007%100,mm=10007%100
D:\Prueba>set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
D:\Prueba>set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
D:\Prueba>goto :EOF
D:\Prueba>set /a d=j
D:\Prueba>call :dÝas 07/07/2014
D:\Prueba>for /F "tokens=1,2,3 delims=-/." %a in ("07/07/2014") do (set dd=%a &
set mm=%b & set aa=%c )
D:\Prueba>(set dd=07 & set mm=07 & set aa=2014 )
D:\Prueba>set /a dd=10007%100,mm=10007%100
D:\Prueba>set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
D:\Prueba>set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
D:\Prueba>goto :EOF
D:\Prueba>set /a d=j-d
D:\Prueba>set hhmm=09:58
D:\Prueba>set hh=09
D:\Prueba>set mm=58
D:\Prueba>set /a min=60*hh + mm
D:\Prueba>set hh=11
D:\Prueba>set mm=12
D:\Prueba>set /a min=1440*d + 60*hh + mm - min
D:\Prueba>if /I 614 GTR 120 (
rem echo Archivo: "m. 388.277 4581844 - Doc - 07072014.pdf" fecha: 07/
07/2014 Minutos: 614 tiene mas de 2 horas
del "m. 388.277 4581844 - Doc - 07072014.pdf"
Pause
echo 07/07/2014 11:12:13,95 borrado archivo "m. 388.277 4581844 - Doc
- 07072014.pdf" de 07/07/2014 09:58 1>>C:\Control\borrado.log
)
No se pudo encontrar D:\Prueba\m. 388.277 4581844 - Doc - 07072014.pdf
C:\Users\80148984\Desktop>D:
D:\>cd Prueba
D:\Prueba>for /F "tokens=1,2,3,*" %i in ('dir /a-d /tw *.*') do (call :comprobar
%i "%l" %j )
D:\Prueba>(call :comprobar El "la unidad D es Recovery Image" volumen )
D:\Prueba>if "El" == "El" goto :EOF
D:\Prueba>(call :comprobar El "serie del volumen es: 5A61-C5DE" número )
D:\Prueba>if "El" == "El" goto :EOF
D:\Prueba>(call :comprobar Directorio "" de )
D:\Prueba>if "Directorio" == "El" goto :EOF
D:\Prueba>if "Directorio" == "Directorio" goto :EOF
D:\Prueba>(call :comprobar 07/07/2014 "m. 388.277 4581844 - Doc - 0707
2014.pdf" 09:58 )
D:\Prueba>if "07/07/2014" == "El" goto :EOF
D:\Prueba>if "07/07/2014" == "Directorio" goto :EOF
D:\Prueba>if "m. 388.277 4581844 - Doc - 07072014.pdf" == "bytes" goto
:EOF
D:\Prueba>if "m. 388.277 4581844 - Doc - 07072014.pdf" == "bytes libre
s" goto :EOF
D:\Prueba>call :dÝas 07/07/2014
D:\Prueba>for /F "tokens=1,2,3 delims=-/." %a in ("07/07/2014") do (set dd=%a &
set mm=%b & set aa=%c )
D:\Prueba>(set dd=07 & set mm=07 & set aa=2014 )
D:\Prueba>set /a dd=10007%100,mm=10007%100
D:\Prueba>set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
D:\Prueba>set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
D:\Prueba>goto :EOF
D:\Prueba>set /a d=j
D:\Prueba>call :dÝas 07/07/2014
D:\Prueba>for /F "tokens=1,2,3 delims=-/." %a in ("07/07/2014") do (set dd=%a &
set mm=%b & set aa=%c )
D:\Prueba>(set dd=07 & set mm=07 & set aa=2014 )
D:\Prueba>set /a dd=10007%100,mm=10007%100
D:\Prueba>set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
D:\Prueba>set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
D:\Prueba>goto :EOF
D:\Prueba>set /a d=j-d
D:\Prueba>set hhmm=09:58
D:\Prueba>set hh=09
D:\Prueba>set mm=58
D:\Prueba>set /a min=60*hh + mm
D:\Prueba>set hh=11
D:\Prueba>set mm=12
D:\Prueba>set /a min=1440*d + 60*hh + mm - min
D:\Prueba>if /I 614 GTR 120 (
rem echo Archivo: "m. 388.277 4581844 - Doc - 07072014.pdf" fecha: 07/
07/2014 Minutos: 614 tiene mas de 2 horas
del "m. 388.277 4581844 - Doc - 07072014.pdf"
Pause
echo 07/07/2014 11:12:13,95 borrado archivo "m. 388.277 4581844 - Doc
- 07072014.pdf" de 07/07/2014 09:58 1>>C:\Control\borrado.log
)
No se pudo encontrar D:\Prueba\m. 388.277 4581844 - Doc - 07072014.pdf
Presione una tecla para continuar . . .
D:\Prueba>goto :EOF
D:\Prueba>(call :comprobar 04/07/2014 "m. 387.500 acceso procp.pdf" 07
:49 )
D:\Prueba>if "04/07/2014" == "El" goto :EOF
D:\Prueba>if "04/07/2014" == "Directorio" goto :EOF
D:\Prueba>if "m. 387.500 acceso procp.pdf" == "bytes" goto :EOF
D:\Prueba>if "m. 387.500 acceso procp.pdf" == "bytes libres" goto :EOF
D:\Prueba>call :dÝas 04/07/2014
D:\Prueba>for /F "tokens=1,2,3 delims=-/." %a in ("04/07/2014") do (set dd=%a &
set mm=%b & set aa=%c )
D:\Prueba>(set dd=04 & set mm=07 & set aa=2014 )
D:\Prueba>set /a dd=10004%100,mm=10007%100
D:\Prueba>set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
D:\Prueba>set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
D:\Prueba>goto :EOF
D:\Prueba>set /a d=j
D:\Prueba>call :dÝas 07/07/2014
D:\Prueba>for /F "tokens=1,2,3 delims=-/." %a in ("07/07/2014") do (set dd=%a &
set mm=%b & set aa=%c )
D:\Prueba>(set dd=07 & set mm=07 & set aa=2014 )
D:\Prueba>set /a dd=10007%100,mm=10007%100
D:\Prueba>set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
D:\Prueba>set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
D:\Prueba>goto :EOF
D:\Prueba>set /a d=j-d
D:\Prueba>set hhmm=07:49
D:\Prueba>set hh=07
D:\Prueba>set mm=49
D:\Prueba>set /a min=60*hh + mm
D:\Prueba>set hh=11
D:\Prueba>set mm=23
D:\Prueba>set /a min=1440*d + 60*hh + mm - min
D:\Prueba>if /I 4534 GTR 120 (
rem echo Archivo: "m. 387.500 acceso procp.pdf" fecha: 04/07/2014 Minu
tos: 4534 tiene mas de 2 horas
del "m. 387.500 acceso procp.pdf"
Pause
echo 07/07/2014 11:23:43,52 borrado archivo "m. 387.500 acceso procp.
pdf" de 04/07/2014 07:49 1>>C:\Control\borrado.log
)
No se pudo encontrar D:\Prueba\m. 387.500 acceso procp.pdf
Presione una tecla para continuar . . .
D:\Prueba>goto :EOF
D:\Prueba>(call :comprobar 04/07/2014 "m. 180.539 asistencia junio coo
trastol.pdf" 08:37 )
D:\Prueba>if "04/07/2014" == "El" goto :EOF
D:\Prueba>if "04/07/2014" == "Directorio" goto :EOF
D:\Prueba>if "m. 180.539 asistencia junio cootrastol.pdf" == "bytes" g
oto :EOF
D:\Prueba>if "m. 180.539 asistencia junio cootrastol.pdf" == "bytes li
bres" goto :EOF
D:\Prueba>call :dÝas 04/07/2014
D:\Prueba>for /F "tokens=1,2,3 delims=-/." %a in ("04/07/2014") do (set dd=%a &
set mm=%b & set aa=%c )
D:\Prueba>(set dd=04 & set mm=07 & set aa=2014 )
D:\Prueba>set /a dd=10004%100,mm=10007%100
D:\Prueba>set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
D:\Prueba>set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
D:\Prueba>goto :EOF
D:\Prueba>set /a d=j
D:\Prueba>call :dÝas 07/07/2014
D:\Prueba>for /F "tokens=1,2,3 delims=-/." %a in ("07/07/2014") do (set dd=%a &
set mm=%b & set aa=%c )
D:\Prueba>(set dd=07 & set mm=07 & set aa=2014 )
D:\Prueba>set /a dd=10007%100,mm=10007%100
D:\Prueba>set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
D:\Prueba>set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
D:\Prueba>goto :EOF
D:\Prueba>set /a d=j-d
D:\Prueba>set hhmm=08:37
D:\Prueba>set hh=08
D:\Prueba>set mm=37
D:\Prueba>set /a min=60*hh + mm
D:\Prueba>set hh=11
D:\Prueba>set mm=25
D:\Prueba>set /a min=1440*d + 60*hh + mm - min
D:\Prueba>if /I 4968 GTR 120 (
rem echo Archivo: "m. 180.539 asistencia junio cootrastol.pdf" fecha:
04/07/2014 Minutos: 4968 tiene mas de 2 horas
del "m. 180.539 asistencia junio cootrastol.pdf"
Pause
echo 07/07/2014 11:25:13,89 borrado archivo "m. 180.539 asistencia ju
nio cootrastol.pdf" de 04/07/2014 08:37 1>>C:\Control\borrado.log
)
No se pudo encontrar D:\Prueba\m. 180.539 asistencia junio cootrastol.
pdf
Presione una tecla para continuar . . .
Espero me puedas ayudar a resolver este problema,
Esta es la ruta donde él debe ir a buscar los archivos para borrar después de estar hay por dos horas.
\\10.0.184.5\digitalizaciones temporales\Sucursal Pereira
Gracias por su colaboración.
Evidentemente el problema parece estar en que cuando se va a ejecutar el comando DEL no encuentra el archivo que debería borrar, porque el resto del BAT parece funcionar correctamente. Si nos fijamos en el caso del último archivo "m. 180.. 539 asistencia junio cootrastol.pdf" del día 04/07/2014 a las 08:37, el bat detectó correctamente que hacía 4968 minutos que se había creado, superando las 2 horas y por tanto debería borrarse. En consecuencia lanzó el comando
Del "m. 180.539 asistencia junio cootrastol.pdf"
Pero luego sale el mensaje:
No se pudo encontrar D:\Prueba\m. 180.539 asistencia junio cootrastol.pdf
Y esto es un poco inexplicable puesto que el bat obtuvo el nombre de los archivos de esa carpeta.
Intuyo que puede haber algún problema con el tipo de archivo, tal vez sea un archivo oculto o de solo lectura o alguna otra cosa. Te sugiero que intentes hacer el borrado de forma manual desde una ventana CMD, copiando el comando y viendo que ocurre.
Ya me dirás. Creo que vamos por buen camino pero en este entorno MSDOS suelen aparecer problemas que no se le ocurren a uno.
Por cierto que no es buena idea usar letras acentuadas en los BAT. La culpa es mía que le puse acento a la "i" de la rutina "días". Por lo que he visto no ha dado problemas aunque en la invocación figure como "dÝas" pero yo corregiría eso, aunque como digo de momento no sea ese el problema.
Hola experto, gracias de nuevo por su ayuda.
He acatado tu respuesta y cambie todas las tildes que salen, he comprobado los archivos que no tengan ningún tipo de restricción y efectivamente no tienen ninguna restricción, los borre manualmente y se eliminan sin ningún problema, por otra parte he echo la prueba con el código en mi equipo local y en el servidor y en los dos me muestra el mismo error, no se que pueda estar mal porque como tu lo dices el hace el proceso bien y hasta encuentra los archivos en la carpeta especifica, pero cuando el los va a borrar dice que no los encuentra y creo que hay es donde esta el error.
le agradezco me pueda ayudar revalidando el código y mirando donde esta el error o donde puedo estar haciendo algo mal, por otra parte también probe con otras unidades creando la carpeta donde quedan los archivos pero da el mismo error.
le agradezco me colabores ya que es importante para mi y mi empresa tener esta tarea corriendo en el servidor.
un saludo y gracias por su tiempo Experto
En las pruebas que he hecho en mi entorno el problema solo se me da con los archivos ocultos. Pero en ese caso el borrado manual reproduce el mismo error "No se pudo encontrar..."
Aunque por lo que me dices habría que buscar por otro lado te pediría que pruebes a sustituir "del %2" por "del /ah %2". Con esto el borrado se haría si el archivo fuera un archivo oculto.
He detectado un error en el bat original, que tampoco puede tener que ver con el problema que nos ocupa, pero que habría que corregir porque puede influir en el cálculo incorrecto de los minutos transcurridos desde la creación del archivo. El error es que la variable interna "mm" se usa tanto para el mes como para los minutos. Debería sustituirse la utilización para los minutos por "mi" en lugar de "mm". Las líneas a cambiar serían:
set hhmm=%3 ---------->set hhmi=%3
set hh=%hhmm:~0,2% ------------> set hh=%hhmi:~0,2%
set mm=%hhmm:~3,2% ------------> set mi=%hhmi:~3,2%
set /a min=60*hh + mm -----------> set /a min=60*hh + mi
set /a min=1440*d + 60*hh + mm - min ----------> set /a min=1440*d + 60*hh + mi - min
Si la corrección del comando de borrado no funciona deberías probar con archivos cualquiera, que no tengan que ver con el proceso de escaneado para contrastar el funcionamiento del BAT (haciendo copia de seguridad por si el borrado funciona). Tampoco estaría mal que me hicieras llegar, por algún medio (dejándolo en algún disco virtual de la "nube") uno o dos de los archivos que no se pueden borrar.
Como último recurso podría intentar conectarme remotamente a alguno de tus equipos, por ejemplo con el Teamviewer. Si no lo conoces te puedo explicar como funciona.
Hola Experto
Te cuanto que he intentado todos los pasos que me diste pero me sigue mostrando el mismo error, hoy lo intente en el portátil de mi casa he igual me muestra el mismo error, yo creo el el problema esta cuando en va a buscar el archivo para eliminarlo no lo encuentra en la ruta que le estamos dando, osea que el no esta encontrando el archivo para eliminarlos porque la ruta que el busca es D:\Prueba\m. no se la m. a que hace referencia.
bueno por otra parte te cuento que si conos de Teamviewer de echo lo tengo instalado en el computador donde hago las pruebas, el problema que veo es que no se cuando tu estas en linea para ponernos de acuerdo y conectarnos, lo único que se me ocurre es que me escribas al correo cuando estés en linea, yo tengo configurado el correo en el celular y me doy cuenta cuando me escribas, mi correo es [email protected] yo estaré muy pendiente.
Le agradezco su colaboración y estaré muy pendiente, por otro lado quería contarte que en la empresa no puedo estar muy pendiente de esta pagina porque la tienen Bloqueada, y me toda desde el celular.
cordial saludo.
Te he mandado un mensaje a tu dirección de correo. Aprovecho para comentarte que no es muy recomendable dejar una dirección de email en una página abierta, pero siempre puedes hacer que la consulta sea privada para que no puedan leerla los robots capturadores de direcciones de correo, aunque a lo mejor ya ni existen, hablo de hace algunos años cuando existían y luego te inundaban de spam.
Bueno. Continuamos, por tanto, por correo electrónico y cuando resolvamos el problema ya cerraríamos la consulta.
Gracias Experto, esto fue de gran ayuda para mi y te esforzate mucho por ayudarme hasta darme una solución y eso cuenta muchísimo.
aquí dejo la solución por si a alguien le sirve ya que busque por todo lado y una solución como esta no estaba.
d:
cd Prueba
for /f "tokens=1,2,3,4,5,*" %%i in ('dir /a-d /tw *.*') do ( call :comprobar %%i "%%n" %%j %%que %%l)
goto :EOF
:comprobar
if "%1"=="El" goto :EOF
if "%1"=="Directorio" goto :EOF
if "%5"=="bytes" goto :EOF
call :días %1
set /a d=j
call :días %DATE%
set /a d=j-d
set hhmi=%3
set hh=%hhmi:~0,2%
set mi=%hhmi:~3,2%
set /a min=60*hh + mi
if "%4"=="p." set /a min=min + 720
set hh=%time:~0,2%
set mi=%time:~3,2%
set /a min=1440*d + 60*hh + mi - min
if /i %min% GTR 120 (
echo Archivo: %2 fecha: %1 hora: %3 %4 Minutos: %min% tiene mas de 2 horas
del %2
echo %DATE% %TIME% borrado archivo %2 de %1 %3 %4 >> c:\control\borrado.log
)
goto :EOF
:días
for /f "tokens=1,2,3 delims=-/." %%a in ("%1") do (
set dd=%%a&set mm=%%b&set aa=%%c)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=aa+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
goto :EOF
MUCHAS GRACIAS EXPERTO.
- Compartir respuesta