Question
[Résolu]le répertoire d'un fichier
- Axel
- Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 176
- Remerciements reçus 0
il y a 10 ans 11 mois #19819
par Axel
[Résolu]le répertoire d'un fichier a été créé 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
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.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 10 ans 11 mois #19822
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:le répertoire d'un fichier
Salut,
Harcide écrit:
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.
Harcide écrit:
Au moins une, ne pas confondre l'objet et son affichage.Avez-vous des pistes ?
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.
- Axel
- Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 176
- Remerciements reçus 0
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 \"Group\" mais je ne sais pas comment mi prendre
J'ai du mal à faire la différence !! Oui je voudrais manipuler les propriétés du \"Group\" mais je ne sais pas comment mi prendre
Connexion ou Créer un compte pour participer à la conversation.
- Axel
- Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 176
- Remerciements reçus 0
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 \"{@{Length=10128; FullName=\" et c'est ici que je n'arrive pas à corriger
[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 \"{@{Length=10128; FullName=\" et c'est ici que je n'arrive pas à corriger
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 10 ans 11 mois #19827
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:le répertoire d'un fichier
Harcide écrit:
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.
Select-Object crée un nouvel objet, un PSObject, l'affichage que tu as, est celui par défaut pour ce type d'objet.c'est pratiquement ce que je voudrais mais des trucs me dérange comme \"{@{Length=10128; FullName=\" et c'est ici que je n'arrive pas à corriger
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.
- Axel
- Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 176
- Remerciements reçus 0
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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu]le répertoire d'un fichier