Ms-Dos - Borrar documentos y temporales

 
Vista:
Imágen de perfil de Gabriel
Val: 4
Ha disminuido su posición en 4 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Borrar documentos y temporales

Publicado por Gabriel (2 intervenciones) el 21/08/2017 09:53:37
Buenas madrugadas.

Podrían ayudarme con un código para borrar documentos de tipo *.pdf,*.docx,*.xlsx,*.pptx,*.txt,*.jpg,*.jpeg,*.png,*.gif,*.mp3,*.mp4,*.accdb,*.mbd

y los archivos temporales.

Estuve probando con:

1
2
3
4
5
6
7
8
9
10
11
12
@echo off
 
for /R %ALLUSERPROFILE%\Downloads\ %%x in (*.pdf,*.docx,*.xlsx,*.pptx,*.txt,*.jpg,*.jpeg,*.png,*.gif,*.mp3,*.mp4,*.accdb,*.mbd) do DEL "%%x" ".\"
 
for /R %ALLUSERPROFILE%\Pictures\ %%x in (*.pdf,*.docx,*.xlsx,*.pptx,*.txt,*.jpg,*.jpeg,*.png,*.gif,*.mp3,*.mp4,*.accdb,*.mbd) do DEL "%%x" ".\"
 
for /R %ALLUSERPROFILE%\Documents\ %%x in (*.pdf,*.docx,*.xlsx,*.pptx,*.txt,*.jpg,*.jpeg,*.png,*.gif,*.mp3,*.mp4,*.accdb,*.mbd) do DEL "%%x" ".\"
 
for /R %ALLUSERPROFILE%\Desktop\ %%x in (*.pdf,*.docx,*.xlsx,*.pptx,*.txt,*.jpg,*.jpeg,*.png,*.gif,*.mp3,*.mp4,*.accdb,*.mbd) do DEL "%%x" ".\"
 
 
EXIT

Borra algunos... pero aun tiene fallos (no es para hacer el mal o algo así es para hacer mantenimiento) y el mismo .bat se elimina aun ejecutándolo fue de las 4 rutas que puse.
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

Borrar documentos y temporales

Publicado por Antoni Masana (811 intervenciones) el 22/08/2017 15:33:14
En primer lugar esta variable no la puedes usar porque marca un directorio oculto y el MS-DOS no te deja usarlo.

Ejecuta este comando:

1
2
C:\Tmp>echo %ALLUSERPROFILE%\Downloads\
%ALLUSERPROFILE%\Downloads\

En segundo lugar Los 4 directorios que quieres borrar están en el usuario y la variable es %UserProfile%
Y para los apartados de todos los usuarios esta la variable %PUBLIC%

El BAT seria algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@echo off
 
set Exten=pdf docx xlsx pptx txt jpg jpeg png gif mp3 mp4 accdb mbd
set Direc=Downloads Pictures Documents Desktop
 
echo. %USERPROFILE%
PUSHD %USERPROFILE%
 
:Paso-1
    for %%a in (%Direc%) do call :Paso-2 %%a
    POPD
    goto :EOF
 
:Paso-2
    echo Directorio %CD%\%1
    cd %1
    for %%b in (%Exten%) do call :Paso-3 %%b
    CD ..
    goto :EOF
 
:Paso-3
    echo       Ext. %CD%\*.%1
    dir *.%1 /s /B >temporal.tmp 2>nul
    for /F "delims=: tokens=2" %%c in (Temporal.tmp) do call :Paso-4 %%c
    del Temporal.tmp
    goto :EOF
 
:Paso-4
    echo del %1
    goto :EOF

Para que borre debes quitar el ECHO de la línea 29. Ahora esta en modo DEMO y no borra.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Gabriel
Val: 4
Ha disminuido su posición en 4 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Resuelto

Publicado por Gabriel (2 intervenciones) el 23/08/2017 03:41:05
Muchas gracias. lo pondré a prueba el jueves.

De casualidad tienes algún libro en PDF o algo que me recomiendes para aprender aun más sobre este tema.
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

Resuelto

Publicado por Antoni Masana (811 intervenciones) el 23/08/2017 11:15:12
Puedes consultar los comandos en

https://norfipc.com/inf/comandos-consola-windows-7.html

Todos los comandos tienen la opción /? que muestra la ayuda, los más interesantes son

1
SET - IF - FOR - GOTO - CALL - GOTO

Otros de interes

1
CD - POPD - PUSHD - CLIP - DIR - DEL - COPY - XCOPY - FC - FIND - FINDSTR

Te recomiendo un par de páginas con ejemplos:

http://www.dostips.com/DtTipsStringManipulation.php

https://technet.microsoft.com/es-es/library/cc771180(v=ws.10).aspx

Yo llevo 35 años manejando el MS-DOS y esto ha cambiado muchisimo, hay comandos que tienen opciones que antiguamente no existien.

Hay comandos que devuelven codi de error se capturan con la variable %ERRORLEVEL% por ejemplo el COPY, FC, FINDSTR, etc.

El FOR y algunos comandos no funcionan uno dentro del ciclo FOR, por ejemplo esto no funciona:

1
2
3
4
FOR %%a IN (*.TXT) DO (
    FINDSTR /i Texto %%a >nul 2>nul
    IF %ErrorLevel% EQU 0  ECHO La palabra TEXTO existe en el fichero %%a
)

El ERRORLEVEL no devuelve el código de error del FINDSTR, devuelve, supongo, el del FOR, Se arregla asi:

1
2
3
4
5
6
7
FOR %%a IN (*.TXT) DO CALL :Busca %%a
GOTO :EOF
 
:Busca
    FINDSTR /i Texto %1 >nul 2>nul
    IF %ErrorLevel% EQU 0  ECHO La palabra TEXTO existe en el fichero %1
    GOTO :EOF

El MS-DOS están bastante bien si lo comparamos con la version 6.00 o la Windows 95, si lo coparas con los script de UNIX es una mierda.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar