Rechercher : dans
Par :

Batch dos supprimer fichier taille inferieur

Dernière réponse le 20 fév 2008 à 14:13:27 numayos, le 30 jan 2008 à 16:27:03 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.11

Meilleures réponses pour « batch dos supprimer fichier taille inferieur » dans :
[MS-Dos] Lister le contenu d'un répertoire dans un fichier VoirIl peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible...
[Windows] Impossible de supprimer un fichier ou un dossier VoirSi Windows n'arrive pas à supprimer un fichier ou un dossier, la cause peut être l'une des suivantes : Le fichier ou le dossier à supprimer est utilisé par un processus du système Le dossier à supprimer contient des fichiers ou dossiers cachés ...
Renommer plusieurs fichiers en batch VoirLe fait de renommer un grand nombre de fichiers peut très vite devenir fastidieux. Heureusement, il existe des outils permettant d'automatiser cette tâche dans un grand nombre de cas : Fonctionnalités natives Utilisation d'un programme...

1

Gabess, le 30 jan 2008 à 16:32:20

T'as essayé de lister avec un 'dir' ??

Répondre à Gabess

2

numayos, le 30 jan 2008 à 16:38:36

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??

Répondre à numayos

3

 JPC, le 20 fév 2008 à 14:13:27

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.

Répondre à JPC