HELP Script pour vider fichier temporaires et log

Résolu
Jules -  
barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. barnabe0057
     
    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
  2. Jules
     
    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
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      Ok
      0
      1. Jules > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Ca marche comme cela merci !!
        0
    2. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      De rien ;)
      0