Sv Community El Salvador
Soporte y Tecnología => Programación => Scripts => Mensaje iniciado por: tekun en diciembre 18, 2015, 11:55:25 am
-
vaia,.... resulta que tengo una carpeta que posee archivos que quiero eliminar mediante un bat.. pero deben ser archivos que tienen cierto nombre...
estoy armando un script para toda la unidad de mi pc, ya tengo llego hasta donde están los archivos pero no he logrado identificar los nombres que quiero eliminar...
tengo una estructura de archivos asi:
D:
YY_CARPETA
LUNES 23
aaa1400.xls
aaa1130.xls
aaa2300.xls
XX_CARPETA
LUNES 24
bbb1130.xls
bbb1300.xls
bbb2300.xls
Noten que en ambas carpetas están los archivos que tienen nombre que termina con "2300"
yo ya puedo recorrer todas las carpetas, llego hasta donde estan los archivos, pero como puedo hacer para identificar todos los que terminan con 2300
alguien que me ayude, es en un batch que lo estoy haciendo, tengo esto hasta el momento
for /D /r %%f in ("*CARPETA") do (
for %%i in ("%%f\*.xls") do (
----- >> AQUI ES DONDE DEBO DE ENCONTRAR UNA FORMA DE MANIPULAR LA VARIABLE %%i DONDE EL NOMBRE DEL ARCHIVO TERMINE CON "2300"
)
)
)
-
Si la estructura de nombres es la misma, es fácil usar comodines:
Si te ubicás en la carpeta raíz donde sabés que hay subcarpetas que contienen esos archivos:
Opcional:
DIR ???2300.xls /s y te mostrará todos los archivos que terminan en 2300, del tipo xls y que inician con 3 caracteres
Para eliminarlos:
DEL ???2300.xls /s
-
Proba asi, elimino los que terminan con "2300"
for /D /r %%f in (*CARPETA) do (
for %%i in ("%%f\*.xls") do (
echo %%i | FIND /I "2300">Nul && ( DEL /F /S /Q /A %%i ) || ( Echo Did not find "2300" )
)
)