Question Afficher les fichiers recement modifiés ...

Plus d'informations
il y a 18 ans 2 jours #1977 par marc
Bonjour,
C'est mon premier message ici.

Je debute donc en powershell et j'ai recuperer un script sur le net que j'ai modifié tant bien que mal.

Il affiche bien le resultat, la taille du fichier s'affiche en dessous du nom. Maintenant, je voudrais que la taille s'affiche en face du nom de fichier et avoir un tri dedécroissant.

Pouvez me mettre sur la piste ?

[code:1]D: ;
$string = get-childitem -recurse |Where-Object {$_.PSIsContainer -eq 0} | where {$_.LastWriteTime -ge [DateTime]::today.adddays(-30)} | foreach {$_.get_Fullname(),$_.get_length()}
$string[/code:1]

Merci d'avance.

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

Plus d'informations
il y a 18 ans 1 jour #1981 par Laurent Dardenne
Salut,
stolken écrit:

Pouvez me mettre sur la piste ?

Je vais essayer :P
Quelques remarques auparavant, le type reçu est un bien un tableau mais à une dimension. Il contient des noms pour les indices pairs et des tailles pour les indices impairs. ça va pas être facile de les trier :/

Ensuite il vaut mieux utiliser les noms de propriétés que les accesseurs, la différence se fait au niveau de la saisie.

Une solution :
On prend le choix de les trier sur la taille :
[code:1]
get-childitem -recurse |Where-Object {$_.PSIsContainer -eq 0} | where {$_.LastWriteTime -ge [DateTime]::today.adddays(-30)} | sort {($_).length}
[/code:1]
mais dans ce cas get-childitem envoi les fichiers dans le pipe répertoire par répertoire. On a N opérations de tri.

Pour éviter ceci on sélectionne les champs qui nous importe, le nom et la longueur puis on trie sur la totalité des fichiers envoyée dans le pipe :
[code:1]
$Files=get-childitem -recurse | Where-Object {$_.PSIsContainer -eq 0} | where {$_.LastWriteTime -ge [DateTime]::today.adddays(-30)} | select name,length|sort {($_).length}
[/code:1]
Ici on récupère un tableau d'objet, tjr à une dimension, mais chaque indice pointe sur un objet possédant chacun 2 propriétés (nom, taille).

Il y a sûrement d'autres solutions.

Tutoriels PowerShell

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

Plus d'informations
il y a 18 ans 1 jour #1984 par marc
Merci beaucoup, je peux pas tester aujourd'hui mais demain je teste et tu auras mon retour.
Bonne journée

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

Plus d'informations
il y a 18 ans 1 jour #1986 par Laurent Dardenne
stolken écrit:

Bonne journée

Merci :)

Tutoriels PowerShell

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

Plus d'informations
il y a 17 ans 11 mois #2021 par marc
Bonjour, c'est deja mieux mais mon soucis c'est que j'ai besoin de chemin complet.
Hors il me tronconne et ca donne un truc pas du tout exploitable.

[code:1]$Files=get-childitem -recurse | Where-Object {$_.PSIsContainer -eq 0} | where {$_.LastWriteTime -ge [DateTime]::today.adddays(-30)} | select fullname,length|sort {($_).length} | out-file c:\list.txt[/code:1]

Avez vous l'astuce ultime ?
Au passage, comment inverser l'ordre de tri ?

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

Plus d'informations
il y a 17 ans 11 mois #2022 par marc
Bonjour, c'est deja mieux mais mon soucis c'est que j'ai besoin de chemin complet.
Hors il me tronconne et ca donne un truc pas du tout exploitable.

[code:1]$Files=get-childitem -recurse | Where-Object {$_.PSIsContainer -eq 0} | where {$_.LastWriteTime -ge [DateTime]::today.adddays(-30)} | select fullname,length|sort {($_).length} | out-file c:\list.txt[/code:1]

Avez vous l'astuce ultime ?
Au passage, comment inverser l'ordre de tri ?

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

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