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
| | |-+  Borrado de archivos selectivos en MsDos Batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Borrado de archivos selectivos en MsDos Batch  (Leído 4,714 veces)
el_lujo

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Borrado de archivos selectivos en MsDos Batch
« en: 26 Agosto 2016, 22:41 pm »

Saludos, señores.

Debido a una necesidad, quisiera una ayuda de ustedes los expertos.

Mi necesidad es la siguiente:
a 50 usuarios se les guardan todos los archivos de documentos con un gestor de respaldo; pero cada día debo borrar esos archivos navegando cada una de las carpetas.

En síntesis, quisiera saber si existe una forma (creo que sí) que yo pueda en batch borrar todos los archivos exceptuando algunas subcarpetas y por ende los archivos en esa subcarpeta.

Navegando por la web vi unas líneas de códigos para manejo de borrado de carpetas y obviando algunas dependiendo de un archivo .txt.

Lo encontrado fue esto:
Esto para crear la lista de directorios y guardarlos en un archivo:

Código:
dir /ad /b > carpetas.txt
Y esto para eliminar las subcarpetas

Código:
For /f “delims=” %n in (carpetas.txt) do rmdir /s /q “%%n”

Ahora bien, tratando de implementar esto a mi necesidad:

Código:
@ECHO OFF
TITLE BORRADO DOCs. OFFICE
ECHO SE COMENZARA CON EL BORRADO DE LOS ARCHIVOS
ECHO ASEGURESE DE QUE LA CARPETA DE LOS ARCHIVOS EN OFFICE
ECHO ESTA MAPEADA EN LA UNIDAD Z:
PAUSE
Z:
For /f “delims=” %n in (carpetas.txt) do rmdir /s /q “%n”
ECHO BORRADO COMPLETO
PAUSE > NULL

La pregunta:

Cómo puedo, en vez de borrar subcarpetas, borrar sólo los archivos, tanto de la carperas como subcarpetas de esa unidad?

Gracias.


En línea

SrMcLister

Desconectado Desconectado

Mensajes: 35



Ver Perfil
Re: Borrado de archivos selectivos en MsDos Batch
« Respuesta #1 en: 27 Agosto 2016, 00:57 am »

Podrías indicarle al batch que quieres que te borre todos los docx o de la extensión que quieras..
Hacer un for para recorrer esa unidad por carpetas y subcarpetas como tienes en tu script ya, pero para mi que rmdir habría que sustituirlo por del o erase que es para borrar archivos no carpetas.
Hace bastante que no me examino de Windows jaja
Siento no poder ayudarte más, si lo enfocas de distinta forma no dudes en escribirlo
Un Saludo crack!!


En línea

Código
  1. return((u.areHappy() && u.knowIt()) ? u.clapYourHands() : u.goFuckYourself());
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Borrado de archivos selectivos en MsDos Batch
« Respuesta #2 en: 27 Agosto 2016, 09:35 am »

La pregunta:

Cómo puedo, en vez de borrar subcarpetas, borrar sólo los archivos, tanto de la carperas como subcarpetas de esa unidad?

Código
  1. For /F "UseBackQ Tokens=* Delims=" %%# In (
  2.    "%CD%\Carpetas.txt"
  3. ) Do (
  4.    PUSHD "%%~#"
  5.    Call Echo "%%CD%%"
  6.    (Call Del /Q /S "%%CD%%\*.*")2>Nul
  7.    POPD
  8. )

Saludos
« Última modificación: 27 Agosto 2016, 09:38 am por Eleкtro » En línea

el_lujo

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Borrado de archivos selectivos en MsDos Batch
« Respuesta #3 en: 29 Agosto 2016, 17:07 pm »

Gracias, señores por sus aportes.  Voy a probar el código enviado por SrMcLister.

Mil gracias nuevamente.
En línea

Tomas1982

Desconectado Desconectado

Mensajes: 48



Ver Perfil
Re: Borrado de archivos selectivos en MsDos Batch
« Respuesta #4 en: 30 Agosto 2016, 21:02 pm »

Esto se puede modificar en dependencia del interés que tenga cada User.
Espero que te sirva..
Código
  1. @echo off
  2. :: Unidades a escanear
  3. for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y) do (
  4. ::extensiones a borrar. Puedes poner las que desees, separadas por coma y un espacio execto la ultima.  
  5. for %%e in (jpg, docx, pdf, mpg) do (
  6. for /f "tokens=*" %%a in ('dir /b /s "%%i:\*.%%e"') do (
  7. ERASE /F /Q "%%a"
  8. )
  9. )
  10. )
  11. exit
  12.  
« Última modificación: 30 Agosto 2016, 21:44 pm por Tomas1982 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como podria ser un Batch para busqueda y borrado o algo parecido
Scripting
eddie_pe 6 4,773 Último mensaje 16 Junio 2009, 06:49 am
por leogtz
Borrar Archivos y mostrar peso de archivos borrado
Scripting
Dany3j 9 5,552 Último mensaje 5 Julio 2011, 22:17 pm
por Dany3j
Auditoria - Borrado de archivos
Windows
CarinaVb 3 3,568 Último mensaje 10 Junio 2015, 23:47 pm
por Platanito Mx
Linux y su retorcido sentido del borrado de archivos
GNU/Linux
FreeCellnet 6 4,810 Último mensaje 10 Enero 2021, 19:34 pm
por FreeCellnet
¿Me ha borrado un virus archivos DLL de vídeo?
Multimedia
jcltheone 4 13,125 Último mensaje 16 Mayo 2022, 18:38 pm
por jcltheone
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines