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 :

Manipulation de fichiers


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2019
    Messages : 8
    Par défaut Manipulation de fichiers
    Bonjour,

    j'aimerai récupérer la taille d'un dossier en powershell, jusque là pas très compliqué.

    Là ou mon problème se complique, c'est que ce dossier est dans Local. Bon la encore ça va pas très dur..

    En fait j'ai plusieurs utilisateurs sur mon poste et j'aimerai que pour chacun le script aille chercher la taille du dossier qui est présent sur tous les utilisateurs.

    dans l'idée le script irait chercher sur un chemin du genre "C:\Users\%pour_boucler_sur_tous_les_dossier%\AppData\Local\...."

    j'aurais en résultat (avec le reste du script que j'ai déjà)

    toto_1 : dossier : 50Mo
    toto_2 : dossier : 650Mo
    etc
    etc

    J'ai essayé pendant toute la matinée sans réussite je m'en remets à vous ^^

    Merci d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2019
    Messages : 8
    Par défaut
    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $path = "C:\Users\"
    $folder = gci $path
     
    foreach ($folders in $folder){
        $user = $folders.Name
        If(!(test-path "C:\Users\$user\AppData\Local\Temp")){
     
            }
        Else{
            $mo=0;gci "C:\Users\$user\AppData\Local\Temp" -recurse -force | foreach -process {$mo+=$_.length/1000000} | Out-String 
            $Taille_Mo = [math]::Round($mo,2)
            Write-Host "$user : $Taille_Mo Mo" -f Green
        }
    }

    Bon j'ai finalement trouvé me manque plus qu'à le ranger par ordre DESC

  3. #3
    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
    Voici deux autres façon

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Get-ChildItem -Path "C:\Users\*\AppData\Local\Temp" -Force | ForEach-Object {
    $user = $_.FullName.Split([system.io.path]::DirectorySeparatorChar)[2]
    $Taille_Mo = [math]::Round(((Get-ChildItem -Path $_.FullName -Force -Recurse | Measure-Object -Property length -Sum).Sum / 1MB), 2)
    Write-Host "$user : $Taille_Mo Mo" -f Green
    }

    En essayant de garder la logique objet
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $result = Get-ChildItem -Path "C:\Users\*\AppData\Local\Temp" -Force | 
    Select-Object @{ Name = 'User';  Expression = {$_.Parent.Parent.Parent.Name}}, @{ Name = 'Taille';  Expression = {[int64](Get-ChildItem -Path $_.FullName -Force -Recurse | Where-Object {!$_.PSIsContainer} | Measure-Object -Property length -Sum).Sum}} | 
    Select-Object *, @{ Name = 'Taille_Mo';  Expression = {[math]::Round($_.Taille / 1MB, 2)}}
    $result | ForEach-Object {Write-Host "$($_.User) : $($_.Taille_Mo) Mo" -f Green}

  4. #4
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2019
    Messages : 8
    Par défaut
    J'avais essayé * dans le chemin de dossier, ça ne marchait pas étant donné que le fichier est écrit en dur il va rechercher un dossier "*" et donc pas fonctionner

  5. #5
    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
    Je ne comprend pas.
    Mon code ne fonctionne pas chez toi ?

  6. #6
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2019
    Messages : 8
    Par défaut
    Après test et vérification, si il fonctionne bien.
    C'est bizarre pour mon script j'avais essayé * pour tous les users mais ça ne marchait pas :/

Discussions similaires

  1. Manipulation de fichier (copier, supprimer, déplacer)
    Par Guigui_ dans le forum Général Python
    Réponses: 1
    Dernier message: 21/10/2004, 10h26
  2. Manipulation des fichiers
    Par monsau dans le forum Langage
    Réponses: 7
    Dernier message: 21/09/2004, 17h45
  3. [LG]Manipulation de fichiers
    Par yffick dans le forum Langage
    Réponses: 29
    Dernier message: 10/01/2004, 15h04
  4. Manipulation de fichiers - gestion d'extensions
    Par ulukai dans le forum Linux
    Réponses: 13
    Dernier message: 02/07/2003, 15h28
  5. Réponses: 2
    Dernier message: 18/01/2003, 17h06

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