HELP Script pour vider fichier temporaires et log

Résolu/Fermé
Jules - Modifié le 26 mai 2017 à 10:14
barnabe0057
Messages postés
13837
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
17 mai 2022
- 26 mai 2017 à 15:55
Bonjour,

je suis actuellement en stage en entreprise d'informatique plus particulièrement en administration de réseau et je dois faire un script afin de vider des fichiers log et temporaires.

Mon problème est le suivant ce script est à destination d'un serveur TSE il doit être exécuté depuis un compte administrateur et supprimer les fichiers temporaires et log pour tout les utilisateurs existant sur ce serveur mais justement le hic c'est que je ne vois pas comment pouvoir indiquer tout les utilisateurs dans lesquelles il faut supprimer les fichier log et temp, j'ai un chemin d'accès précis pour un USER mais pas pour tous je ne vois pas comment pouvoir le faire pour tous sachant que il y a beaucoup utilisateurs, à moins de refaire un chemin d'accès pour chaque USER et exécuter les commandes pour vider ces fichiers je ne vois pas... En gros il me faudrait depuis /documents avoir une commande pour sélectionner tout les répertoires USER Voila si vous pourriez éclairer ma lanterne ça serait cool !

Voici mon script qui est très simple

:: Ne supprime pas les fichiers de processus en cours
:: RESTE LE CHEMIN D'ACCES A MODIFIER EN FONCTION DE LUTILISATEUR WIP 


cd /Users/stagiaire/document/Usr5



echo       FICHIER TEMPORAIRE

rd /S /Q Temp


echo       FICHIER    LOG


rd /S /Q LOG

pause 
exit

2 réponses

barnabe0057
26 mai 2017 à 12:47
Bonjour,

Pour pouvoir traiter tous les USERS il faut faire une boucle, avec FOR.

Si on considère qu'il faut traiter tous les dossiers contenus dans /document, voilà à peu près à quoi ça devrait ressembler :

:: Ne supprime pas les fichiers de processus en cours
:: RESTE LE CHEMIN D'ACCES A MODIFIER EN FONCTION DE LUTILISATEUR WIP

set racine=%USERPROFILE%\document

cd %racine%

for /f "tokens=*" %%A in ('dir /b /ad "*.*"') do (

echo FICHIER TEMPORAIRE

del /F /S /Q "%racine%\%%A\Temp"

rd /S /Q "%racine%\%%A\Temp"

echo FICHIER LOG

del /F /S /Q "%racine%\%%A\LOG"

rd /S /Q "%racine%\%%A\LOG"

)

pause
exit


Je te suggère de vider les dossiers avant de les effacer, car la commande RD ne fonctionne pas sur les dossiers non vides.
1
Merci de ta réponse ! je suis un total débutant en fichier bat avec de l'invite de commande mais j'ai des bonne bases en c..
j'ai garder rd car il supprime les répertoires et pas seulement les fichiers.
Je vais regarder de près ce que tu as fais et je reposterais une réponse si j'ai un soucis :)
0
barnabe0057
Messages postés
13837
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
17 mai 2022
4 802
26 mai 2017 à 15:03
Ok
0
Jules > barnabe0057
Messages postés
13837
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
17 mai 2022

26 mai 2017 à 15:44
Ca marche comme cela merci !!
0
barnabe0057
Messages postés
13837
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
17 mai 2022
4 802
26 mai 2017 à 15:55
De rien ;)
0