entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

BorradoCMD en JAVA

Buenas tardes compañeros, me he topado con un problema al querer hacer un pequeño ejercicio muy simple que consiste en borrar desde JAVA a través de comando CMD diferentes archivos en diferentes rutas asi, como borrarse a si mismo, es decir: Tengo 1 rutas en C:\PEPE con algunos archivos que pongo como imagenes y tonterías para probar y luego, en la ruta de INICIO de Windows XP (DEL /S /Q C:\Documents and Settings\All Users\Menú Inicio\Programas\Inicio\BorradoCMD.jar) el tema es que, cuando quiero que se borre a si mismo el archivo no hace ni caso, cuando lo pruebo bajo consola manualmente me sale (El sistema no puede hallar el archivo especificado).

Mi código es siguiente:

// Realiza el primero borrado
ruta = "C:\\PEPE";
command = "DEL /S /Q " + ruta;
Runtime.getRuntime ().exec("cmd.exe /c "+ command);
System.out.println (command);

ruta = "C:\\Documents and Settings\\All Users\\Menú Inicio\\Programas\\Inicio\\BorradoCMD.jar";
command = "DEL /S /Q " + ruta;
Runtime.getRuntime ().exec("cmd.exe /c "+ command);
System.out.println (command);

Como podéis ver, el ejemplo es lo mas simple que te puedas echar a la cara...pero por alguna razón, no me deja borrar el archivo en si mismo, ni aunque no se este ejecutando...

¿Alguna idea?

PD: He intentado también con este código para que se elimine a si mismo, pero nada...

File archivo = new File ("C:\\Documents and Settings\\All Users\\Menú Inicio\\Programas\\Inicio\\BorradoCMD.jar");
                                        archivo.delete();

0voto

x4mp73r comentado

Hace mucho que no uso Windows, pero quizá la ruta no es la correcta, yo sugiero que pruebes con una ruta simple e.g "C:\carpetaDePrueba\tuarchivo.jar"

0voto

Yesod comentado

La ruta es correcta porque desde consola de Windows haciendo CD a esa ruta si que accede...desde cualquier otra ruta no hay problema...pero quiero que se inicie con Windows

1 Respuesta

3votos

Leonardo-Tadei Puntos227320

Lo más probable es que sea un problema de la ruta, ya sea por el espacio o por los nombres ficticios para la GUI que pone MS Windows en vez de mostrar los reales a bajo nivel.

Si es el problema del espacio, podrías probar escapándolo en la ruta:

...
ruta = "C:\\Documents/ and/ Settings\\All/ Users\\Menú/ Inicio\\Programas\\Inicio\\BorradoCMD.jar";
...

en algunas versiones basta con encerrar la ruta entre comillas:

...
command = "DEL /S /Q \"" + ruta +"\"";
...

Probá esto y contanos!

PD: yo en primer lugar te hubiera dicho que no se puede borrar a sí mismo porque está en uso... pero ese es otro tema y el error no sería que no encuentra al archivo.

0voto

Yesod comentado

He conseguido que funcione con el segundo ejemplo que has puesto, muchas gracias maestro :)

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta