Question Affichage du résultat

Plus d'informations
il y a 14 ans 10 mois #9526 par FO
Affichage du résultat a été créé par FO
Bonjour à tous,

J'ai le code ci-dessous qui me permet de récupérer la taille de plusieurs dossiers en Mb.

[code:1]$sousdossiers = Get-ChildItem \"\\SERVEUR\f$\Archives Messagerie Exchange\" -force -ErrorAction SilentlyContinue

Foreach ($sousdossier in $sousdossiers)
{
$colItems = (Get-ChildItem \"\\SERVEUR\f$\Archives Messagerie Exchange\$sousdossier\" -recurse -force -ErrorAction SilentlyContinue | Measure-Object -property length -sum)
$filesize = \"{0:N2}\" -f ($colItems.sum / 1MB«») + \" MB\"
write-host \"Dossier : $sousdossier - Taille : $filesize\"
}[/code:1]

Je souhaiterai modifier l'ordre affichage du résultat du plus gros fichier au plus petit.

Résultat attendu :

User 1 = 10 Gb
User 2 = 8 Gb
User 3 = 3 Gb

Je ne vois pas comment on peut faire avec un foreach.

Merci d'avance pour votre aide.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 10 mois #9537 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Affichage du résultat
Benjy écrit:

Je ne vois pas comment on peut faire avec un foreach.

Peut-être faut-il trier les fichiers, cf. Sort-objet, avant de lancer le traitement...

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 10 mois #9540 par FO
Réponse de FO sur le sujet Re:Affichage du résultat
Le problème c'est que je n'ai pas la propriété lenght avant de lancer mon traitement. Comment je peux trier sur la propriété lenght alors que c'est mon traitement qui me permet de la récupérer?

Au niveau d'un fichier j'ai bien la propriété lenght mais pas au niveau d'un dossier.

Dans le cas où j'aurai eu la propriété lenght sur un dossier j'aurai utilisé ce code :

[code:1]Get-ChildItem \"\\SERVEUR\f$\Archives Messagerie Exchange\\" -force -ErrorAction SilentlyContinue | Sort-Object -property length[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 10 mois #9542 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:Affichage du résultat
Bonjour à vous,

J'ai travaillé un peu sur ton problème avant de me plonger dasn mes projets mais voici à ce que je suis arrivé à faire :

[code:1]
Get-ChildItem -Path 'C:\Users\Rich' -ErrorAction SilentlyContinue `
| Select-Object *,@{Name='Lenght';Expression={(Get-ChildItem $_.FullName -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property length -Sum).Sum}} `
| Sort-Object Lenght `
| Select-Object FullName,Lenght
[/code:1]

Ce qui me donne comme résultat :

FullName Lenght



C:\Users\Rich\Saved Games 282
C:\Users\Rich\Podcasts 414
C:\Users\Rich\Desktop 444
C:\Users\Rich\Videos 504
C:\Users\Rich\Favorites 1010
C:\Users\Rich\Links 3981
C:\Users\Rich\Searches 4476
C:\Users\Rich\Contacts 68785
C:\Users\Rich\Tracing 71793
C:\Users\Rich\Forefront UAG Remote Access Agent 4026817
C:\Users\Rich\Pictures 161913145
C:\Users\Rich\Documents 1235495119
C:\Users\Rich\Music 4145606425
C:\Users\Rich\Downloads 31307921578


Il est possible de juste le trier avec un Sort-Object, mais comme je vois que tu as besoin de la propriété lenght j'ai plutôt fait un Select-Object pour construire un objet personnalisé.

J'espère que cela répondra à ta demande.

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 10 mois #9547 par FO
Réponse de FO sur le sujet Re:Affichage du résultat
Merci Richard !

C'est éxactement ça.

Pourrais tu m'expliquer cette ligne ?

[code:1]Select-Object *,@{Name='Lenght';Expression={(Get-ChildItem $_.FullName -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property length -Sum).Sum}} `[/code:1]

A quoi serve les \"`\" ?

De quelle manière je pourrais mettre en MB?

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.100 secondes
Propulsé par Kunena