Question [Résolu] Lister fichiers en doublon

Plus d'informations
il y a 7 ans 11 mois #25618 par Derouin
Bonjour,

Je cherche dans le but d'obtenir un script assez complet pour faire un gros rangement de fichiers.
Lister les fichiers en doubles ayant le même nom, taille et dernière date de modification (Cette dernière si possible).
Aussi connaître l'emplacement de ces doublons.
Pour le moment j'ai réalisé ceci :

[code:1]
$rep = \"C:\test\\"
$doublons = gci $rep -recurse | ?{ ! $_.PSIsContainer} | Sort-Object -Property Length| Group-Object -Property Name, Length -NoElement | ?{ $_.Count -ge 2 } | Select-Object Name, Length,Count
$doublons | Format-List
[/code:1]
Ce qui me donne un résultat de ce genre :
[code:1]
Name : x.csv, 6544
Length :
Count : 2

Name : y.txt, 44444
Length :
Count : 6

Name : a.xml, 5525454
Length :
Count : 3

etc
[/code:1]
Je souhaiterais que la taille du fichier apparaisse en face de \"Length\" et aussi connaître l'emplacement des fichiers.
Merci d'avance :laugh:<br><br>Message édité par: Arnaud, à: 18/06/18 20:45

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

Plus d'informations
il y a 7 ans 11 mois #25619 par Arnaud Petitjean
Bonjour Somyx,

Soit le bienvenu dans le forum !

L'information que tu cherches est perdue si tu utilises le commutateur -NoElement de Group-Object.

Voilà un bout de code pour mieux comprendre:
[code:1]
$doublons = gci $rep -recurse -File | Group-Object -Property Name | ?{ $_.Count -ge 2 }

PS C:\Users\arnaud&gt; $doublons[0]

Count Name Group
----
2 UniversalDashboard_1.6... {UniversalDashboard_1.6b4.zip, UniversalDashboard_1.6b4.zip}


PS C:\Users\Arnaud&gt; $doublons[0].Group


Directory: C:\Users\Arnaud


Mode LastWriteTime Length Name
----

----
-a---- 07/05/2018 08:34 36012573 UniversalDashboard_1.6b4.zip


Directory: C:\Users\Arnaud\.vscode


Mode LastWriteTime Length Name
----

----
-a---- 07/05/2018 08:34 36012573 UniversalDashboard_1.6b4.zip

[/code:1]

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 7 ans 11 mois #25620 par Derouin
Merci de l'accueil Arnaud. B)
Concernant -NoElement je l'ai mis car je trouvé qu'il simplifier la liste des doublons c'était plus esthétique.
Ta réponse m'aide à avancer et mieux comprendre mais ce n'est tout à fait ça lorsque que fais :
[code:1]
$doublons = gci $rep -recurse | ?{ ! $_.PSIsContainer} | Group-Object -Property Name | ?{ $_.Count -ge 2 }
$doublons[0].Group
[/code:1]
le résultat affiché :
[code:1]
Répertoire : C:\test


Mode LastWriteTime Length Name
----

----
-a---- 06/06/2018 10:19 34566 a.csv


Répertoire : C:\test\Excel &amp; Texte


Mode LastWriteTime Length Name
----

----
-a---- 06/06/2018 10:19 34566 a.csv


[/code:1]
Cela ne prend en compte qu'un doublon je voudrais cela pour chaque doublons.

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

Plus d'informations
il y a 7 ans 11 mois #25622 par Derouin
Finalement j'ai trouvé la solution pour afficher tous les doublons selon les critères, j'ai réaliser une boucle permettant de parcourir chaque ligne du tableau.

Merci de l'aide

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

Plus d'informations
il y a 7 ans 11 mois #25642 par Arnaud Petitjean
C'est tout à fait ce qu'il fallait faire en effet ;)

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

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