Batch dos supprimer fichier taille inferieur
numayos
-
V.Y.Z -
V.Y.Z -
Bonjour,
je souhaiterai faire un .bat pour supprimer tous les fichiers inferieur a 100ko pour un dossier précis.
j'ai déja trouver une piste pour récuperer la taille mais je n'arrive pas a lister les fichiers
auriez vous une piste?
voici un bout de code qui ne fait pas ce que je veux mais qui permet de contoler la taille.
@echo off
set fichier="C:\Documents and Settings\Administrateur\Bureau\Programation batch\image_tst\*.*"
for %%a in (%fichier%) do set taille=%%~za
if %taille% LSS 100000 (
echo trop petit. >> tst.txt
echo %taille% >> tst.txt
) else (
echo correct. >> tst.txt
echo %taille% >> tst.txt
)
merci d'avance
je souhaiterai faire un .bat pour supprimer tous les fichiers inferieur a 100ko pour un dossier précis.
j'ai déja trouver une piste pour récuperer la taille mais je n'arrive pas a lister les fichiers
auriez vous une piste?
voici un bout de code qui ne fait pas ce que je veux mais qui permet de contoler la taille.
@echo off
set fichier="C:\Documents and Settings\Administrateur\Bureau\Programation batch\image_tst\*.*"
for %%a in (%fichier%) do set taille=%%~za
if %taille% LSS 100000 (
echo trop petit. >> tst.txt
echo %taille% >> tst.txt
) else (
echo correct. >> tst.txt
echo %taille% >> tst.txt
)
merci d'avance
Configuration: Windows XP Firefox 2.0.0.11
3 réponses
-
Tu peux toujours essayer ceci:
@echo off
set fichier="C:\Documents and Settings\Administrateur\Bureau\Programation batch\image_tst\*.*"
for %%a in (%fichier%) do call :OKDOK "%%a"
goto :EOF
:OKDOK
set taille=%~z1
echo %1 %taille%
if %taille% LSS 100000 (
echo fichier %1 trop petit. taile=%taille% >> tst.txt
) else (
echo fichier %1 correct. taille=%taille% >> tst.txt
REM
REM del /F /Q %1
REM
echo fichier %1 effacé >> tst.txt
)
:EOF
Il suffit d'enlever le "REM " devant "del /F /Q %1" pour réellement effacer les fichiers plus grand que 100000.
En fait le script de 4 lignes du debut, appelle pour chaque fichier trouvé, une sous-routine qui s'appelle OKDOK avec comme paramêtre le nom du fichier (%%a entre "" car le nom de fichier peut contenir des espaces).
Dans la sous-routine le paramêtre se retrouve dans %1, comme lorsque l'on passe un paramêtre à un batch. -
-
oui mais je ne sais pas comment traiter ca par la suite
mais je vais me pencher plus en détail la dessu, je pensai qu'il existai une autre facon de faire
si qqun a une idée pour récuperer la liste des fichier du dir??