Ms-Dos - Eliminar el contenido de la carpeta / ejecutar otro bat

 
Vista:

Eliminar el contenido de la carpeta / ejecutar otro bat

Publicado por Inforclax (3 intervenciones) el 02/09/2014 09:53:41
Necesito dos cosas, a ver si me podéis ayudar.

Necesito eliminar el contenido de una carpeta, todo, archivos y subcarpetas, pero sin eliminar la carpeta raiz.
No me sirve el truco de borrarla y crearla de nuevo, la necesito íntegra.


Necesito crear otro bat que pase una ruta al primer bat que es el que tiene la instrucción de eliminación.
En el primer bat indicaría a qué rutas se debe acceder el segundo bat que solo contiene la instrucción de borrado.
O sea el primer bat ejecutaría el segundo en la ruta que indicase.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Eliminar el contenido de la carpeta / ejecutar otro bat

Publicado por Antoni Masana (811 intervenciones) el 03/09/2014 07:10:36
Primer BAT - Opción 1

1
2
3
@ECHO OFF
SET Ruta=*** Aquí pones la ruta ***
CALL Segundo_BAT "%Ruta%"

Primer BAT - Opción 2

1
2
3
@ECHO OFF
SET /P Ruta=Ruta que desea limpiar de polvo y paja:
CALL Segundo_BAT "%Ruta%"

Segundo BAT

1
2
3
4
5
6
7
8
9
@ECHO OFF
 
IF (%1) == ()       GOTO:EOF
IF NOT EXIST %1\NUL GOTO:EOF
 
CD %1
 
FOR    %%a IN (*.*) DO DEL "%%a" /F
FOR /D %%a IN (*.*) DO RD  "%%a" /S /Q
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Eliminar el contenido de la carpeta / ejecutar otro bat

Publicado por inforclax (3 intervenciones) el 03/09/2014 16:39:44
Centrémonos primero en el bat que llama a otro
No me ha funcionado el bat que llama a otro pasándole una ruta

ejemplo

El primer bat:

SET Ruta="C:\MeteloAqui\"
Call segundobat.bat "%Ruta%"


El segundo bat (segundobat.bat):

mkdir hola


Y lo que realmente hace es crear el directorio en la ruta en la que está el segundo bat en lugar de la ruta que le debería pasar el primero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Eliminar el contenido de la carpeta / ejecutar otro bat

Publicado por Antoni Masana (811 intervenciones) el 04/09/2014 07:17:17
En primer y segundo BAT deben estar en un lugar accesible y entiéndase por un lugar accesible que cuando lo llames el sistema sepa encontrarlo, es decir si guardas los BATs en la carpeta C:\Mis_BATs esta debe estar incluida en la variable de entorno PATH.

Otra opción es poner la ruta cuando llamas a otro BAT.

Por ejemplo: Proceso_1.BAT

1
2
3
@echo off
set texto="Mis parámetros"
call C:\Mis_BATs\Proceso_2.BAT %texto%

Ejemplo: Proceso_2.BAT

1
2
@echo off
echo %1

Y por ultimo sobre tu ejemplo del mkdir hola hay dos formas de hacerlo, quizás hay más pero las otras no vienen al caso

Opción 1

1
2
CHDIR %1
MKDIR hola
o
1
2
CD %1
MD hola

Opción 2

1
MKDIR %1\hola
o
1
MD %1\hola


Y esto es todo
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar