Effacer fichiers repertoire.bat
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script batch de maintenance |
| Rôle | Purger les fichiers d'un partage réseau |
| Critère | Taille < 3 Mo conservée, sinon supprimée |
| Voir aussi | Batch · Routines (batch) |
Effacer fichiers repertoire.bat monte un lecteur réseau, parcourt récursivement son
contenu et supprime les fichiers dont la taille dépasse un seuil (ici 3 Mo), en journalisant chaque
action. Il illustre l'usage de net use, d'une boucle for /R et d'une
sous-routine appelée par call.
Script
@echo off
rem ******** Variables *******
set LOG=D:\Prod\logs\
set FicLOG=Suivi_IMP.log
rem ******** fin variables *********
Net Use j: /DELETE
net use j: \\hostname\PARTAGE /user:DOMAINE\utilisateur motdepasse /PERSISTENT:NO
j:
set fichier="j:\*.*"
for /R j: %%a in (*) do call :OKDOK "%%a"
goto :EOF
:OKDOK
set taille=%~z1
rem echo %1 %taille%
if %taille% LSS 3000000 (
rem echo fichier %1 trop petit. taille=%taille% >> %LOG%%FicLOG%
) else (
echo fichier %1 correct. taille=%taille% >> %LOG%%FicLOG%
echo fichier %1 correct. taille=%taille%
rem ******** commande d'effacement du fichier *********
del /F /Q %1
echo fichier %1 effacé >> %LOG%%FicLOG%
)
IF %ERRORLEVEL%==0 goto OK
:KO
echo *** Net use KO *** le %date% a %time:~0,7% >> %LOG%%FicLOG%
set resexe=1
goto EOF
:OK
echo *** Net use OK *** le %date% a %time:~0,7% >> %LOG%%FicLOG%
set resexe=0
goto EOF
:EOF
echo ### Fin de Traitement ### >> %LOG%%FicLOG%
echo "" >> %LOG%%FicLOG%
Les identifiants de connexion (/user:DOMAINE\utilisateur motdepasse) et le nom du
partage doivent être remplacés par ceux de votre environnement.
Voir aussi
- Batch — recueil de scripts batch
- Routines (batch) — sous-routines appelées par
call