RSS
Facebook
G+

Buscador de IntercambioSOS:


Retroceder   Foro de Ayuda IntercambiosvirtualeS > Soporte Sobre: Educación & Entretenimiento > Zona Académica > Programación

Respuesta
 
Herramientas Desplegado
Antiguo 28-feb-2013     #1
Pregunta ¿Cual es el código "bat" que borre un archivo luego de un tiempo?



Hola a todos.

Espero que me puedan ayudar, necesito conseguir un código para poder borrar una carpeta que se encuentra en un lugar especifico, luego de un tiempo de ejecutar el archivo "bat".

Me Explico.

Este es un código para borrar una carpeta, simplemente abrimos un nuevo documento de texto y copiamos y pegamos el código lo guardamos con exención "bat" y listo.
Se borrará la carpeta que se encuentra en el disco "C" con el nombre "Uno"
--------------------------------------------------------------------------
@ECHO OFF
RMDIR /S /Q "C:\Uno"
Exit
--------------------------------------------------------------------------
Lo que me gustaría es saber si existe algún código adicional para que la carpeta "Uno" se borre luego de un minuto después de haber ejecutado el archivo "bat"


Gracias por toda su ayuda.


Última edición por bdjmarcelo; 28-feb-2013 a las 12:02
Enviar un mensaje por MSN a bdjmarcelo Responder Citando
Los siguientes 2 usuarios agradecen a bdjmarcelo por este mensaje:
baduser (28-feb-2013), Eliararo (03-mar-2013)
Antiguo 28-feb-2013     #2
Predeterminado

necesitas explicar mejor, que significa eso de "luego de un tiempo de ejecutar el archivo bat" ??
Responder Citando
Antiguo 28-feb-2013     #3
Predeterminado

Algo como que el proceso empiece un contador y al terminar la cuenta elimine el archivo???
Responder Citando
Usuarios que han agradecido este mensaje de osiel
baduser (01-mar-2013)
Antiguo 01-mar-2013     #4
Amor y Paz

hola marcelo

Sabes me gusta el batch si que te ayudo en lo que pueda vale?

1.-Primero, es batch no bat jeje (bat es un tipo de archivo y batch el lenguaje)

2.-Con tu código:
::------------------------------------------------------------------------
@ECHO OFF
RMDIR /S /Q "C:\Uno"
Exit
::------------------------------------------------------------------------
... necesitas añadir una espera verdad?, me refiero a que tarde un tiempo en borrar la carpeta.

Pues, como este parámetro borra un directorio completo, lo que hace el bat en este caso es borrar desde la carpeta hacia abajo, o sea que siempre tardara lo mismo. (a no ser que hagas un DEL para borrar los archivos y luego el RMDIR para borrar la carpeta), esto aveces se hace por que un parámetro da conflictos. Y estos conflictos ocurren debido a que un archivo que estaba dentro del directorio estaba protegido por el sistema... Buena tarea entonces jejeje

Sin embargo puedes hacer otra cosa:
-Quitar los atributos a todos los archivos y directorios que borraras
-borrar tranquilamente y a la hora (o con la espera) que quieras tu directorio.

--------------------------------------------
Bamos a ala acción:

tienes dos formas de hacer la espera:
una con "AT" que establece una hora determinada para x accion, ejemplo:

::--------------------
AT 20:20 RMDIR /s /q C:\hola
::--------------------
que es "a las 20:20 horas elimina el directorio C:\hola"


Otra forma es que el batch tenga una espera, por ejemplo que al acer click tenga una linea que diga:

::---------------------
ping localhost
::---------------------

También hay uno mucho mas efectivo perno no lo recuerdo bien, este te da un segundo teóricamente hablando, sumando puedes hacer mas tiempo.

Otra forma que también que es bastante buena:
::---------------------
:otra vez
if [%time%]==["20:20"] (RMDIR /s /q C:\nuevo) else (goto:otravez)
::---------------------

...Lo que este hace es preguntar la hora al sistema, si son las 20:20 horas ejecuta el código, si no lo son vuelve a preguntar eternamente hasta que sea la hora.


-------------------------------------------------------------------------
Conclusión:

En un caso de espera simple puedes usar el "ping loclhost" un par de veces o de pronto puedes planificar la hora exacta. Yo personalmente tenia un método de espera bastante bueno, pero sorry hace tiempo que no me meto en esto.

Entonces:

::----------------------------------------------------
@ECHO OFF
AT 20:20 RMDIR /s /q C:\micarpeta
RMDIR /S /Q "C:\Uno"
Exit
::----------------------------------------------------

NOTA:
Seria interesante pasar el batch a exe y que se ejecute de manera oculta, o bien que se inicie con el pc, de este modo puede ser mas indetectable.

Hace algún tiempo escribí algo acerca de ello, pero te advierto que tiene muchas paginas. ;)

[Enlace a foro de contenido no permitido en la pagina]

Saludos
Halsenheim

Última edición por Tururojo; 01-mar-2013 a las 17:26
Responder Citando
Los siguientes 6 usuarios agradecen a halsenheim por este mensaje:
asgorreidaa (01-mar-2013), bdjmarcelo (04-mar-2013), Eliararo (03-mar-2013), opadrino (02-mar-2013), osiel (02-mar-2013), VJEVans (02-mar-2013)
Antiguo 02-mar-2013     #5
Predeterminado

puedes usar el comando timeout x (x es en segundos) para añadir una espera.

@ECHO OFF
TIMEOUT 60
RMDIR /S /Q "C:\Uno"
EXIT

Mikan Wajaja~
cuando ofrezcas ayuda, ofrecela porque te nace, no por que te vayan a dar un gracias.

la desinformación que nos brinda los medios, y que la comunidad se encarga de esparcir como fuego...

♪Just believe in myself and my dream
Anyone could be a hero and heroine. ♫

Última edición por Mikan; 02-mar-2013 a las 02:07
Responder Citando
Los siguientes 2 usuarios agradecen a Mikan por este mensaje:
osiel (02-mar-2013), VJEVans (02-mar-2013)
Antiguo 04-mar-2013     #6
Ehh?

HOLA (( halsenheim ))

Gracias me es de mucha utilidad los códigos lo que sucede es que no es lo que busco.

El código siguiente borra la carpeta a una hora predeterminada y no luego de unos segundos.
::----------------------------------------------------
@ECHO OFF
AT 10:30 RMDIR /s /q C:\Uno
RMDIR /S /Q "C:\Uno"
Exit
::----------------------------------------------------
Lo probé pero sólo borra el archivo el archivo "bat" luego de ejecutarlo.

LO QUE ME GUSTARÍA TE LO EXPLICO EN EL SIGUIENTE EJEMPLO.

Tengo una carpeta de nombre "Uno" en "C:".
ahora yo e creado un archivo de nombre "Setup" con extensión ".bat" que se encuentra en dentro de la carpeta "Uno".

Lo que me gustaría es que luego de ejecutar el archivo "Setup.bat" se borre luego de 60 segundo la carpeta "Uno" con todo y el archivo "Setup.bat"

Pero en lugar de un archivo "bat" lo transforme en "Exe" y quiere que se borre junto con toda la carpeta y su contenido.

En pocas palabras quiero hacer un archivo "bat" el cuen luego lo voy a transformar a "exe" que borre completamente la carpeta donde se ejecute.

Cómo lo hago

Hola (( Mikan ))

Gracias por el dato pero el comando "TIMEOUT 60" simplemente me da un conteo regresivo en una ventana "CMD" luego borra efectivamente la carpeta al terminar, pero si el archivo "bat" se encuentra dentro de la carpeta a borrar sólo se borra el contenido de la carpeta y no completamente toda la carpeta.


Enviar un mensaje por MSN a bdjmarcelo Responder Citando
Usuarios que han agradecido este mensaje de bdjmarcelo
baduser (04-mar-2013)
Antiguo 04-mar-2013     #7
Predeterminado

Si no entiendo mal, lo que bdjmarcelo busca es un ejecutable (ya sea .bat o .exe) que se autoelimine; es decir, que se borre mientras se está ejecutando
Responder Citando
Antiguo 04-mar-2013     #8
Ehh?

Ver MensajeIniciado por asgorreidaa Ver Mensaje
Si no entiendo mal, lo que bdjmarcelo busca es un ejecutable (ya sea .bat o .exe) que se autoelimine; es decir, que se borre mientras se está ejecutando

Hola "asgorreidaa"

Cuando tu instalas un programa junto a él encontrarás un ejecutable llamado "Unisntal" o cómo lo puedes apreciar en la siguiente imagen del programa Alcohol.



Lo que quiero es diseñar algo parecido utilizando comandos "cmd" en la ruta que yo quiera.

Más fácil de entender lo dudo..




Enviar un mensaje por MSN a bdjmarcelo Responder Citando
Usuarios que han agradecido este mensaje de bdjmarcelo
asgorreidaa (04-mar-2013)
Antiguo 04-mar-2013     #9
Predeterminado

a ver, yo tengo montado el "experimento" de la siguiente forma.

tengo una carpeta en el escritorio llamada "prueba" dentro hay unos archivos random creados para el experimento. y dentro de la misma carpeta tengo un .bat con el siguiente código.

@echo off
echo %date%
echo borrando archivos...
cd ..
rmdir /s /q prueba
echo done.

ejecuto el .bat desde la misma carpeta y me borra todo, incluido el .bat

lo único de notar, es que estoy ejecutando el archivo con una cuenta con permisos de administrador en windows 7


ahora, por favor relee tu primer post. y veras que lo que se entiende es "borrar una carpeta luego de un tiempo especifico" no borrar la carpeta y el archivo de lotes.

Mikan Wajaja~
cuando ofrezcas ayuda, ofrecela porque te nace, no por que te vayan a dar un gracias.

la desinformación que nos brinda los medios, y que la comunidad se encarga de esparcir como fuego...

♪Just believe in myself and my dream
Anyone could be a hero and heroine. ♫

Última edición por Mikan; 04-mar-2013 a las 18:53
Responder Citando
Los siguientes 2 usuarios agradecen a Mikan por este mensaje:
asgorreidaa (04-mar-2013), bdjmarcelo (07-mar-2013)
Respuesta

Etiquetas
bat, cmd, código, comando


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
El Archivo HOSTS (Sin extensión) - [TUTORIAL] Eloy58 Internet, Redes & Network 53 26-nov-2017 16:09
*.* Shepara v1.0 Ayuda para Internacionalizar tus Aplicaciones [Concurso 2011] nokiajavi Tutoriales & Videos Tutoriales 5 21-jul-2011 03:21
Manual fspassengers en español Corbet AudioLibros, Manuales, Libros & Revistas 4 30-mar-2011 23:57
Horóscopo para 2011 Eloy58 Off-Topic 6 09-ene-2011 05:06


Desarrollado por: vBulletin® Versión 3.8.1
Derechos de Autor ©2000 - 2024, Jelsoft Enterprises Ltd.
Ad Management by RedTyger