Question [Résolu]le répertoire d'un fichier

Plus d'informations
il y a 10 ans 11 mois #19819 par Axel
Bonjour, ça ne fait que 4 jours que je travail sur powershell, merci pour la rubrique \"découvrir powershell\" qui m'a bien aidé mais je suis bloqué, je dois identifier les doublons supérieur à 10Ko et les regrouper, ce que j'ai fait mais je dois aussi afficher leur répertoire et c'est ici que je bloque.

voici le code :

[code:1]
$taille = 10000
$detection = gci * -recurse -force
if ($file = $detection | where-object {$_.length -gt $taille})
{
$file | sort-object length | group-object length | where-object {$_.count -gt 1}
}
[/code:1]

J'obtiens par exemple:

Count Name Group
----
2 10128 {Select-Object.txt, select.txt}
2 10445 {gdr.txt, Get-PSDrive.txt}
2 10491 {gmo.txt, Get-Module.txt}
2 10493 {Set-ItemProperty.txt, sp.txt}
2 10954 {Stop-Job.txt, spjb.txt}
2 11347 {ipcsv.txt, Import-Csv.txt}
2 11520 {rjb.txt, Remove-Job.txt}
2 11707 {Remove-WmiObject.txt, rwmi.txt}
2 11970 {Sort-Object.txt, sort.txt}
3 12231 {New-PSDrive.txt, ndr.txt, mount.txt}
2 12492 {New-Module.txt, nmo.txt}

Avez-vous des pistes ?<br><br>Message édité par: Harcide, à: 3/06/15 15:19

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

Plus d'informations
il y a 10 ans 11 mois #19822 par xyz
Réponse de xyz sur le sujet Re:le répertoire d'un fichier
Salut,
Harcide écrit:

Avez-vous des pistes ?

Au moins une, ne pas confondre l'objet et son affichage.

Les objets récupérés par ton code ( group-object) propose la propriété Group.
C'est un tableau de fichier, tu n'as plus qu'à manipuler les propriétés de chaque élément.

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 11 mois #19823 par Axel
Réponse de Axel sur le sujet Re:le répertoire d'un fichier
Salut !

J'ai du mal à faire la différence !! Oui je voudrais manipuler les propriétés du \&quot;Group\&quot; mais je ne sais pas comment mi prendre

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

Plus d'informations
il y a 10 ans 11 mois #19824 par Axel
Réponse de Axel sur le sujet Re:le répertoire d'un fichier
par exemple, j'ai modifié un peu le code:

[code:1]
$taille = 10000
$detection = gci * -recurse -force | select-object length,fullname
if ($file = $detection | where-object {$_.length -gt $taille})
{
$file | sort-object length | group-object length | where-object {$_.count -gt 1}
}
[/code:1]

j'obtiens quelque chose comme:

Count Name Group
----
2 10128 {@{Length=10128; FullName=C:\axel_test\liste_commande_detail\Select-Object.txt}, @{Length=10128; FullName=C:\axel_test\liste_commande_...
2 10445 {@{Length=10445; FullName=C:\axel_test\liste_commande_detail\gdr.txt}, @{Length=10445; FullName=C:\axel_test\liste_commande_detail\Get...
2 10491 {@{Length=10491; FullName=C:\axel_test\liste_commande_detail\gmo.txt}, @{Length=10491; FullName=C:\axel_test\liste_commande_detail\Get...
2 10493 {@{Length=10493; FullName=C:\axel_test\liste_commande_detail\Set-ItemProperty.txt}, @{Length=10493; FullName=C:\axel_test\liste_comman...
2 10954 {@{Length=10954; FullName=C:\axel_test\liste_commande_detail\Stop-Job.txt}, @{Length=10954; FullName=C:\axel_test\liste_commande_detai...
2 11347 {@{Length=11347; FullName=C:\axel_test\liste_commande_detail\ipcsv.txt}, @{Length=11347; FullName=C:\axel_test\liste_commande_detail\I...
2 11520 {@{Length=11520; FullName=C:\axel_test\liste_commande_detail\rjb.txt}, @{Length=11520; FullName=C:\axel_test\liste_commande_detail\Rem...

c'est pratiquement ce que je voudrais mais des trucs me dérange comme \&quot;{@{Length=10128; FullName=\&quot; et c'est ici que je n'arrive pas à corriger

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

Plus d'informations
il y a 10 ans 11 mois #19827 par xyz
Réponse de xyz sur le sujet Re:le répertoire d'un fichier
Harcide écrit:

c'est pratiquement ce que je voudrais mais des trucs me dérange comme \&quot;{@{Length=10128; FullName=\&quot; et c'est ici que je n'arrive pas à corriger

Select-Object crée un nouvel objet, un PSObject, l'affichage que tu as, est celui par défaut pour ce type d'objet.

Une piste :
[code:1]
#Conversion KiloOctet
$taille = 10kb

$Files = gci * -recurse -force |
where-object {$_.length -gt $taille}

#création
$Doublons= $files |
sort-object length |
group-object length |
where-object {$_.count -gt 1}

$Doublons[0].Group[0].DirectoryName
$Doublons[0].Group[0].Name

#affichage
#Boucle sur la collection principale
$Doublons|
Foreach-object {
#Boucle sur la collection group de chaque doublon
$_.Group |
Foreach-object {
#Boucle sur la collection de fichiers de chaque group
$_.DirectoryName
$_.Name
}#file
}#group
[/code:1]
Il faut scinder le traitement de son affichage, ainsi tu peux avoir + affichages sans avoir à modifier la création de la liste des objets.

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 11 mois #19829 par Axel
Réponse de Axel sur le sujet Re:le répertoire d'un fichier
Super, merci !

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

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