Partage
  • Partager sur Facebook
  • Partager sur Twitter

Script de nettoyage de dossier - BATCH

Suppression des espaces dans les noms de dossier

    4 juillet 2022 à 15:28:35

    Bonjour,

    Je souhaite créer un script en batch pour nettoyer un dossier régulièrement, qui sera lancé en tâche récurrente tous les dimanches

    Ce script doit être capable de supprimer tous les fichiers et les sous dossiers contenus dans un dossier, mais sans supprimer le dossier "source". Il va ensuite créer un petit fichier .txt pour les explications.

    Dans la pratique le script qui suit fonctionne pour la suppression des fichiers et pour la suppression des dossiers MAIS dès qu'un nom de dossier contient un espace, il n'y touche pas.

    J'ai fait une dizaine de pages google sur différents forums à tester des solutions toutes faites ou à les modifier, mais rien ne fonctionne... Svp si vous pouvez m'aider ce serait super !!

    Merci beaucoup !

    Sasha

    :: Changer le chemin du dossier à nettoyer. DOSSIER PARENT --- Ne pas mettre le "\" à la fin du chemin
    
    set chemin=C:\Users\user\Documents\source
    
    
    
    @echo off
    echo =============================================================
    echo                     NETTOYAGE DU DOSSIER
    echo =============================================================
    echo. 
    echo. 
    echo =============================================================
    echo               NE PAS FERMER CETTE FENETRE SVP
    echo =============================================================
    @echo off 
    
    
    
    :: Supprimer les fichiers
    del /f /s /q %chemin%\*.*
    
    
    
    :: INSERER ICI SUPPRESSION DES ESPACES DANS LES DOSSIERS
    
    
    
    timeout 3
    
    
    
    :: Supprimer les sous-dossiers
    for /f %%f in ('dir /ad /b %chemin%\') do rd /s /q %chemin%\%%f
    
    
    
    :: Créer le fichier explication
    echo Bonjour, ce dossier est nettoyé automatiquement tous les dimanches et les données contenues sont supprimées. >> %chemin%\"Nettoyage tous les dimanches de ce dossier".txt
    echo Pensez donc à sauvegarder vos documents dans vos différents dossier personnels et services. >> %chemin%\"Nettoyage tous les dimanches de ce dossier".txt
    echo Merci ! >> %chemin%\"Nettoyage tous les dimanches de ce dossier".txt
    echo Le service informatique >> %chemin%\"Nettoyage tous les dimanches de ce dossier".txt
    
    
    
    :: Par Sasha



    -
    Edité par SashaMtg 5 juillet 2022 à 15:03:46

    • Partager sur Facebook
    • Partager sur Twitter
      4 juillet 2022 à 18:47:35

      As-tu le problème seulement dans le dossier courant ou dans les sous-dossiers?
      Sinon, tu peux mettre les noms entre "..." comme j'ai indiqué ici:
      for /f %%f in ('dir /ad /b %chemin%\') do rd /s /q "%chemin%\%%f"
      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        5 juillet 2022 à 9:22:19

        PierrotLeFou a écrit:

        As-tu le problème seulement dans le dossier courant ou dans les sous-dossiers?
        Sinon, tu peux mettre les noms entre "..." comme j'ai indiqué ici:
        for /f %%f in ('dir /ad /b %chemin%\') do rd /s /q "%chemin%\%%f"


        Même avec des guillemets cela ne fonctionne pas... Il supprime bien les fichiers, mêmes ceux contenus dans les sous dossiers. En revanche j'ai toujours le soucis de dossiers qui ne se suppriment pas lorsqu'il y a un exemple, et du coup les sous-dossiers des sous-dossiers, meme sans espace, ne se suppriment pas... (mais les fichiers si)

        UPDATE :

        Je l'ai fait en powershell, tout fonctionne pour 8 fois moins de lignes

        Get-ChildITem 'C:\Users\user\Documents\source\' | Remove-Item -Force -Recurse
        
        
        New-Item -Path 'C:\Users\user\Documents\source\###CE DOSSIER EST EFFACE TOUS LES DIMANCHES###' -ItemType File


        -
        Edité par SashaMtg 5 juillet 2022 à 15:03:28

        • Partager sur Facebook
        • Partager sur Twitter

        Script de nettoyage de dossier - BATCH

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown