IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Total des fichiers supprimés


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Par défaut Total des fichiers supprimés
    Bonjour à tous,

    Je suis à la recherche d'une solution pour connaitre la taille des fichiers que je supprime à la volé. En effet je suis sur la création d'une script powershell qui me permet de supprimer tout les caches de mes navigateurs via une petite application graphique via les Form et différents boutons mais je n'arrive pas a savoir quel taille je supprime.

    Pourriez vous m'aider SVP?

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Pose ton code de suppression stp

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Par défaut
    Bonjour,

    Voici une partie de mon code qui supprime les caches d'Internet Explorer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    
    [void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
    #[assembly:System::Diagnostics::DebuggableAttribute(true, true)];
    [void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
    
    $MainForm.StartPosition = "CenterScreen"
    $MainForm.Text = "Nettoyage cache Navigateur"
    $MainForm.Width = 420
    $MainForm.Height = 282
    
    
    $Button_IE = New-Object System.Windows.Forms.Button
    $Button_IE.Text = " Nettoyage Internet Explorer "
    $Button_IE.Location = ‘270,50’
    $Button_IE.Width = 100
    $Button_IE.Height = 50
    $MainForm.Add($Button_IE)
    
    
    $Button_IE.Add_click(
    {
    # Définition de la police d'exectution
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
    "-------------------"
    Write-Host -ForegroundColor Green "SECTION 1: Obtention de la liste des utilisateurs"
    "-------------------"
    
    Write-Host -ForegroundColor yellow "Export de la liste des utilisateurs vers C:\temp\utilisateurs.csv"
    
        # Énumérer les utilisateurs dans C:\temp et exporter en .csv pour les appeler plus tard
        dir C:\Users | select Name | Export-Csv -Path C:\temp\utilisateurs.csv -NoTypeInformation
        $list=Test-Path C:\temp\utilisateurs.csv
        ""
    
        "-------------------"
        Write-Host -ForegroundColor Green "SECTION 5: Suppression des caches Internet Explorer"
        "-------------------"
        Write-Host -ForegroundColor yellow "Suppression des caches IE"
        Write-Host -ForegroundColor cyan
        Import-CSV -Path C:\temp\utilisateurs.csv | foreach {
                Remove-Item -path "C:\Users\$($_.Name)\AppData\Local\Microsoft\Windows\Temporary Internet Files\*" -Recurse -Force -EA SilentlyContinue -Verbose
    	        Remove-Item -path "C:\Users\$($_.Name)\AppData\Local\Microsoft\Windows\WER\*" -Recurse -Force -EA SilentlyContinue -Verbose
    	        Remove-Item -path "C:\Users\$($_.Name)\AppData\Local\Temp\*" -Recurse -Force -EA SilentlyContinue -Verbose
    	        Remove-Item -path "C:\Windows\Temp\*" -Recurse -Force -EA SilentlyContinue -Verbose
    	        Remove-Item -path "C:\`$recycle.bin\" -Recurse -Force -EA SilentlyContinue -Verbose
                }
        Write-Host -ForegroundColor yellow "Fin suppression des caches Internet Explorer"
        Write-Host -ForegroundColor yellow "C'est fait..."
        
        #Action lors de la fin du script.
        Remove-Item "c:\temp\utilisateurs.csv" 
        Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
        [System.Windows.Forms.MessageBox]::Show("C'est fait...", "Fin suppression des caches Internet Explorer", 0)
        ""
        })
    $MainForm.ShowDialog()

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Ok.

    Soit tu compte la taille des dossiers avant suppression et après puis tu calcule le delta. Dans ce cas tu devra tolérer que certains fichier on peut être été écrit pendant ton traitement et d'autres effacés par des applications. Ce qui te donnera une taille approximative de ce que tu as effacé.

    Soit tu supprime chaque fichier un par un et tu l'ajoute à ta taille des fichier supprimer totale, tu compte au fur et à mesure en fait. Tu aura la taille exacte de ce que tu as supprimé dans ce cas (en gérant les cas d'erreur bien sûr).

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 105
    Par défaut
    Bonjour,

    Tu pourrais ajouter une ligne du genre avant chaque suppression:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [PS] E:\Home\aepli\Documents> $size = 0 ; Get-ChildItem -LiteralPath 'C:\Users\$($_.Name)\AppData\Local\Microsoft\Windows\Temporary Internet Files' -Recurse -Force | Where-Object {$PSItem -is [System.IO.FileInfo]} | ForEach-Object
     {$size += $PSItem.Length}; "{0} Mo" -f ($size / 1MB)
    Évidemment la dernière commande ("{0} Mo" -f ($size / 1MB)) est superflue et est présente uniquement pour afficher le résultat dans une invite de commandes PowerShell.
    Et ne pas oublier d'adapter le chemin.

    Par contre je te conseil de mettre cela dans une fonction, se sera un peu plus propre.
    Voici un rapide exemple à retravailler bien sûr:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function Get-Size {
        param(
            [String]$Path
        )
    
        $size = 0
        if (Test-Path -LiteralPath $Path) {
            $allFiles = Get-ChildItem -LiteralPath $Path -Recurse -Force
            foreach ($file in $allFiles) {
                if ($file -is [System.IO.FileInfo]) {
                    $size += $file.Length
                }
            }
        }
        return $size
    }
    Pour l'appel: $size = Get-Size -Path 'C:\Users\$($_.Name)\AppData\Local\Microsoft\Windows\Temporary Internet Files'

    Comme tu as une série de chemins, tu devrais les définir dans un tableau, puis les parcourir à l'aide d'une boucle (par exemple: foreach).

    Salutations.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Par défaut
    Merci pour cette bien précieuse

    Par contre quand je fait write-host de $size il me met toujours un décompte à 0

    Il est fort possible que j'ai mal placé ta solution mais là je ne vois pas ou la mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    $Button_IE.Add_click(
    {
    # Définition de la police d'exectution
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
    "-------------------"
    Write-Host -ForegroundColor Green "SECTION 1: Obtention de la liste des utilisateurs"
    "-------------------"
    
    Write-Host -ForegroundColor yellow "Export de la liste des utilisateurs vers C:\temp\utilisateurs.csv"
    
        # Énumérer les utilisateurs dans C:\temp et exporter en .csv pour les appeler plus tard
        dir C:\Users | select Name | Export-Csv -Path C:\temp\utilisateurs.csv -NoTypeInformation
        $list=Test-Path C:\temp\utilisateurs.csv
        ""
    
        "-------------------"
        Write-Host -ForegroundColor Green "SECTION 5: Suppression des caches Internet Explorer"
        "-------------------"
        Write-Host -ForegroundColor yellow "Suppression des caches IE"
        Write-Host -ForegroundColor cyan
        Import-CSV -Path C:\temp\utilisateurs.csv | foreach {
                $size = 0
                Get-ChildItem -LiteralPath "C:\Users\$($_.Name)\AppData\Local\Microsoft\Windows\Temporary Internet Files" -Recurse -Force -EA SilentlyContinue -Verbose
                Where-Object {$PSItem -is [System.IO.FileInfo]} 
                ForEach-Object  {$size += $PSItem.Length}; 
                Remove-Item -path "C:\Users\$($_.Name)\AppData\Local\Microsoft\Windows\Temporary Internet Files\*" -Recurse -Force -EA SilentlyContinue -Verbose
    
                $size = 0
                Get-ChildItem -LiteralPath "C:\Users\$($_.Name)\AppData\Local\Microsoft\Windows\WER\" -Recurse -Force -EA SilentlyContinue -Verbose
                Where-Object {$PSItem -is [System.IO.FileInfo]} 
                ForEach-Object  {$size += $PSItem.Length}; 
    	        Remove-Item -path "C:\Users\$($_.Name)\AppData\Local\Microsoft\Windows\WER\*" -Recurse -Force -EA SilentlyContinue -Verbose
                
                $size = 0
                Get-ChildItem -LiteralPath "C:\Users\$($_.Name)\AppData\Local\Temp\" -Recurse -Force -EA SilentlyContinue -Verbose
                Where-Object {$PSItem -is [System.IO.FileInfo]} 
                ForEach-Object  {$size += $PSItem.Length}; 
                Remove-Item -path "C:\Users\$($_.Name)\AppData\Local\Temp\*" -Recurse -Force -EA SilentlyContinue -Verbose
    
                $size = 0
                Get-ChildItem -LiteralPath "C:\Windows\Temp\" -Recurse -Force -EA SilentlyContinue -Verbose
                Where-Object {$PSItem -is [System.IO.FileInfo]} 
                ForEach-Object  {$size += $PSItem.Length}; 
    	        Remove-Item -path "C:\Windows\Temp\*" -Recurse -Force -EA SilentlyContinue -Verbose
    
                #$size = 0
                #Get-ChildItem -LiteralPath "C:\Users\$($_.Name)\AppData\Local\Microsoft\Windows\Temporary Internet Files" -Recurse -Force
                #Where-Object {$PSItem -is [System.IO.FileInfo]} 
                #ForEach-Object  {$size += $PSItem.Length}; 
    	        #Remove-Item -path "C:\`$recycle.bin\" -Recurse -Force -EA SilentlyContinue -Verbose
    
                }
        Write-Host -ForegroundColor yellow "Fin suppression des caches Internet Explorer"
        Write-Host -ForegroundColor yellow "C'est fait..."
        Write-Host "La taile total des fichiers supprimé est de "
    
        #Action lors de la fin du script.
        Remove-Item "c:\temp\utilisateurs.csv" 
        Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
        [System.Windows.Forms.MessageBox]::Show("C'est fait...", "Fin suppression des caches Internet Explorer", 0)
        ""
        })

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Ou comme ceci
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $path = "MonDossier"
    $size = [long](Get-ChildItem -LiteralPath $Path -File -Recurse -Force | Measure-Object -Sum Length).Sum

Discussions similaires

  1. Liste des fichiers supprimés ?
    Par jackm dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/07/2008, 18h36
  2. liste des fichiers supprimés
    Par sam01 dans le forum Administration système
    Réponses: 3
    Dernier message: 18/02/2008, 14h32
  3. Retrouver des fichiers supprimés
    Par Z20500 dans le forum Composants
    Réponses: 3
    Dernier message: 17/02/2008, 12h31
  4. Des fichiers supprimés qui réapparaissent !
    Par nougasplou dans le forum Administration système
    Réponses: 1
    Dernier message: 19/01/2007, 17h29
  5. recuperer des fichiers supprimés de USB
    Par spopo dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 07/11/2005, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo