Question
Script recherche doublons
- Arthur
- Hors Ligne
- Membre elite
Réduire
Plus d'informations
- Messages : 226
- Remerciements reçus 0
il y a 14 ans 5 mois #7165
par Arthur
Réponse de Arthur sur le sujet Re:Script recherche doublons
Si je met [string[]] au début c'est surtout par habitude car bien souvent Powershell m'emmerd...m'embêtes! avec les types alors je préfère le forcer à mettre le format que je veux dès le début comme ca pas de surprise !
Ça chipote grave ici !
En effet je l'avais oublié celui la.Il permet de très rapidement voir les doublons
[code:1][string[]]$tab = \"toto\" , \"titi\", \"toto\" , \"tete\" , \"toto\" , \"tata\" , \"titi\"
$tab_group = $tab | Group-Object | where { $_.Count -ge 2 }
[/code:1]<br><br>Message édité par: bilbao, à: 16/06/10 17:10
Bon, c'est une histoire de sémantique...
Ça chipote grave ici !
Effectivement, le cmdlet Group-Object est plus approprié pour ton traitement.
En effet je l'avais oublié celui la.Il permet de très rapidement voir les doublons
[code:1][string[]]$tab = \"toto\" , \"titi\", \"toto\" , \"tete\" , \"toto\" , \"tata\" , \"titi\"
$tab_group = $tab | Group-Object | where { $_.Count -ge 2 }
[/code:1]<br><br>Message édité par: bilbao, à: 16/06/10 17:10
Connexion ou Créer un compte pour participer à la conversation.
- Meo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 14 ans 5 mois #7166
par Meo
Réponse de Meo sur le sujet Re:Script recherche doublons
Script terminé
[code:1]<#
--Script pour identifier les doublons des partages des serveurs, leurs tailles et chemins--
Notes :
- Pour fonctionner ce script nécessite Powershell, vous devez préalablement lancer powershell en administrateur (clic droit sur Windows Powershell, Exécuter en tant qu'administrateur...)
- Avant de lancer le script, modifiez localement le mode de sécurité de Powershell en exécutant la commande : Set-ExecutionPolicy Unrestricted
- Par défaut le script écrira le fichier doublons.txt dans le dossier Doublons à la racine de C:\ (prenez garde à l'espace disponible sur le lecteur racine avant de lancer le script ou modifiez le chemin...)
- Pour information ce script utilise environ 20 à 30% maximum de ressources processeur sur un xeon dual core à 2GHZ
Note : à la fin du script, le mode de sécurité de powershell est repassé en Restricted (mode par défaut), pour connaître le mode de sécurité en cours sur le shell : Get-ExecutionPolicy
#>
Write-host \"===Script pour identifier les doublons===\"
New-Item -type directory C:\Doublons
Set-location C:\Doublons
$chemin = Read-host \"Veuillez indiquer quel est le chemin UNC du lecteur/dossier à analyser?\"
Write-host \"En cours d'exécution, veuillez patienter...\"
Get-ChildItem $chemin -recurse | Select-Object Name, DirectoryName, Length | Export-Csv C:\Doublons\liste.csv -Encoding Unicode
$tableau = Import-Csv ./liste.csv
$doublons = $null
$doublons = $tableau | Group-Object -Property Name, Length | where { $_.Count -ge 2 }
$doublons | Format-List | Out-file ./doublons.txt
Remove-item ./liste.csv
Write-host \"Script terminé.\"
Set-ExecutionPolicy Restricted[/code:1]
Merci à tous pour l'aide apportée, il est certain qu'on peut mieux faire au niveau de l'affichage final mais je débute
++
[code:1]<#
--Script pour identifier les doublons des partages des serveurs, leurs tailles et chemins--
Notes :
- Pour fonctionner ce script nécessite Powershell, vous devez préalablement lancer powershell en administrateur (clic droit sur Windows Powershell, Exécuter en tant qu'administrateur...)
- Avant de lancer le script, modifiez localement le mode de sécurité de Powershell en exécutant la commande : Set-ExecutionPolicy Unrestricted
- Par défaut le script écrira le fichier doublons.txt dans le dossier Doublons à la racine de C:\ (prenez garde à l'espace disponible sur le lecteur racine avant de lancer le script ou modifiez le chemin...)
- Pour information ce script utilise environ 20 à 30% maximum de ressources processeur sur un xeon dual core à 2GHZ
Note : à la fin du script, le mode de sécurité de powershell est repassé en Restricted (mode par défaut), pour connaître le mode de sécurité en cours sur le shell : Get-ExecutionPolicy
#>
Write-host \"===Script pour identifier les doublons===\"
New-Item -type directory C:\Doublons
Set-location C:\Doublons
$chemin = Read-host \"Veuillez indiquer quel est le chemin UNC du lecteur/dossier à analyser?\"
Write-host \"En cours d'exécution, veuillez patienter...\"
Get-ChildItem $chemin -recurse | Select-Object Name, DirectoryName, Length | Export-Csv C:\Doublons\liste.csv -Encoding Unicode
$tableau = Import-Csv ./liste.csv
$doublons = $null
$doublons = $tableau | Group-Object -Property Name, Length | where { $_.Count -ge 2 }
$doublons | Format-List | Out-file ./doublons.txt
Remove-item ./liste.csv
Write-host \"Script terminé.\"
Set-ExecutionPolicy Restricted[/code:1]
Merci à tous pour l'aide apportée, il est certain qu'on peut mieux faire au niveau de l'affichage final mais je débute
++
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
Réduire
Plus d'informations
- Messages : 226
- Remerciements reçus 0
il y a 14 ans 5 mois #7167
par Arthur
Réponse de Arthur sur le sujet Re:Script recherche doublons
Très joli script juste une chose pourquoi exporte tu \"liste.csv\"?
Pourquoi ne le met tu pas directement en variable?
Sinon le reste est nickel.<br><br>Message édité par: bilbao, à: 17/06/10 18:11
Pourquoi ne le met tu pas directement en variable?
Sinon le reste est nickel.<br><br>Message édité par: bilbao, à: 17/06/10 18:11
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 14 ans 5 mois #7168
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Script recherche doublons
meogeo écrit:
Tu ne devrais pas procéder de cette manière, si ce n'est pas indiscret peut-on en connaître la raison ?- Avant de lancer le script, modifiez localement le mode de sécurité de Powershell en exécutant la commande : Set-ExecutionPolicy Unrestricted
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- babatman
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 12 ans 9 mois #11067
par babatman
Réponse de babatman sur le sujet Re:Script recherche doublons
Juste pour ceux qui comme pourrait tomber sur ce script, on peut le simplifier :
[code:1]
Write-host \"===Script pour identifier les doublons===\"
#New-Item -type directory C:\Doublons
#Set-location C:\Doublons
$chemin = Read-host \"Veuillez indiquer quel est le chemin UNC du lecteur/dossier à analyser?\"
Write-host \"En cours d'exécution, veuillez patienter...\"
Get-ChildItem $chemin -recurse | Select Name,Length,FullName | Group-Object -Property Name, Length | where { $_.Count -ge 2 } | Out-GridView
Write-host \"Script terminé.\"
[/code:1]
ou encore plus !:
[code:1]
Write-host \"===Script pour identifier les doublons===\"
#New-Item -type directory C:\Doublons
#Set-location C:\Doublons
$chemin = Read-host \"Veuillez indiquer quel est le chemin UNC du lecteur/dossier à analyser?\"
Write-host \"En cours d'exécution, veuillez patienter...\"
gci $chemin -r | Select Name,Length,FullName | Group-Object -Property Name, Length | where { $_.Count -ge 2 } | Out-GridView
Write-host \"Script terminé.\"
[/code:1]<br><br>Message édité par: babatman, à: 7/02/12 19:33
[code:1]
Write-host \"===Script pour identifier les doublons===\"
#New-Item -type directory C:\Doublons
#Set-location C:\Doublons
$chemin = Read-host \"Veuillez indiquer quel est le chemin UNC du lecteur/dossier à analyser?\"
Write-host \"En cours d'exécution, veuillez patienter...\"
Get-ChildItem $chemin -recurse | Select Name,Length,FullName | Group-Object -Property Name, Length | where { $_.Count -ge 2 } | Out-GridView
Write-host \"Script terminé.\"
[/code:1]
ou encore plus !:
[code:1]
Write-host \"===Script pour identifier les doublons===\"
#New-Item -type directory C:\Doublons
#Set-location C:\Doublons
$chemin = Read-host \"Veuillez indiquer quel est le chemin UNC du lecteur/dossier à analyser?\"
Write-host \"En cours d'exécution, veuillez patienter...\"
gci $chemin -r | Select Name,Length,FullName | Group-Object -Property Name, Length | where { $_.Count -ge 2 } | Out-GridView
Write-host \"Script terminé.\"
[/code:1]<br><br>Message édité par: babatman, à: 7/02/12 19:33
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.110 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Script recherche doublons