Question
[Résolu]l'encodage
- Axel
- Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 176
- Remerciements reçus 0
il y a 10 ans 9 mois #19881
par Axel
Réponse de Axel sur le sujet Re:l'encodage
pour le premier et bien ça marche mais le deuxieme, il me dit erreur le terme test n'est pas reconnu dans l'applet de commande
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 9 mois #19882
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:l'encodage
Vérifie ta saisie, je viens de tester avec la v4 et la v2 de Powershell sans rencontrer de problème.
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 9 mois #19883
par Axel
Réponse de Axel sur le sujet Re:l'encodage
Le terme « test » n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme exécutable. Vérifiez l'orthographe du nom, ou si un chemin d
'accès existe, vérifiez que le chemin d'accès est correct et réessayez.
Au niveau de C:\axel_test\tab.ps1 : 1 Caractère : 13
+ $tab=@(test <<<< )
+ CategoryInfo : ObjectNotFound: (test:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
IsPublic IsSerial Name BaseType
----
True True Object[] System.Array
0
'accès existe, vérifiez que le chemin d'accès est correct et réessayez.
Au niveau de C:\axel_test\tab.ps1 : 1 Caractère : 13
+ $tab=@(test <<<< )
+ CategoryInfo : ObjectNotFound: (test:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
IsPublic IsSerial Name BaseType
----
True True Object[] System.Array
0
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 9 mois #19885
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:l'encodage
Stp, prend l'habitude de spécifier le contexte ET le message d'erreur.
Dans ton premier post tu précises le contexte, mais pas le message d'erreur, ni ne joins une recopie d'écran du 'bug'. De mon côté je ne sais pas débugger l'inconnu...
Dans le dernier, tu précises une erreur sans le contexte qui est le script : C:axel_testtab.ps1.
Aide nous à t'aider
Dans ton premier post tu précises le contexte, mais pas le message d'erreur, ni ne joins une recopie d'écran du 'bug'. De mon côté je ne sais pas débugger l'inconnu...
Dans le dernier, tu précises une erreur sans le contexte qui est le script : C:axel_testtab.ps1.
Aide nous à t'aider
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 9 mois #19886
par Axel
Réponse de Axel sur le sujet Re:l'encodage
j'aime posé des énigmes 
bon je reprends depuis le début ^^' :
[code:1]
#conversion KiloOctet
$taille = 10kb
#recherche des fichiers par rapport à la taille
$files = gci * -recurse -force |
where-object {$_.length -gt $taille}
#compter les fichiers trouvés
$i = 0
#création
$doublons = $files |
sort-object length |
group-object length |
where-object {$_.count -gt 1}
function Clear-KeyboardBuffer {
while ($Host.UI.RawUI.KeyAvailable)
{ $null = $Host.UI.RawUI.ReadKey(\"NoEcho,IncludeKeyDown,IncludeKeyUp\"«»)}
}
function YesNo{
param(
$Caption,
$Message,
[ValidateSet(\"Yes\",\"No\"«»)]
$DefaultChoice=\"No\"
)
Clear-KeyboardBuffer
$Yes = New-Object System.Management.Automation.Host.ChoiceDescription \"&Yes\"
$No = New-Object System.Management.Automation.Host.ChoiceDescription \"&No\"
$Choices = [System.Management.Automation.Host.ChoiceDescription[]]($Yes,$No)
$Host.UI.PromptForChoice($Caption,$Message,$Choices,([byte]($DefaultChoice -eq \"no\"«»)))
}
function Get-FileHash {
[CmdletBinding()]
Param(
[Parameter(Position=0,Mandatory=$true, ValueFromPipelineByPropertyName=$true,ValueFromPipeline=$True)]
[Alias(\"PSPath\",\"FullName\"«»)]
[string[]]$Path,
[Parameter(Position=1)]
[ValidateSet(\"MD5\"«»)]
[string[]]$Algorithm = \"MD5\"
)
Process {
ForEach ($item in $Path) {
$item = (Resolve-Path $item).ProviderPath
If (-Not ([uri]$item).IsAbsoluteUri) {
Write-Verbose (\"{0} is not a full path, using current directory: {1}\" -f $item,$pwd)
$item = (Join-Path $pwd ($item -replace \"\.\\\",\"\"«»))
}
If(Test-Path $item -Type Container) {
Write-Warning (\"Cannot calculate hash for directory: {0}\" -f $item)
Return
}
$object = New-Object PSObject -Property @{
Path = $item
}
#Ouverture \"stream\"
$stream = ([IO.StreamReader]$item).BaseStream
foreach ($Type in $Algorithm) {
[string]$hash = -join ([Security.Cryptography.HashAlgorithm]::Create( $Type ).ComputeHash( $stream ) |
ForEach {\"{0:«»x0}\" -f $_ })
$null = $stream.Seek(0,0)
$object = Add-Member -InputObject $Object -MemberType NoteProperty -Name $Type -Value $Hash -PassThru
}
$object.pstypenames.insert(0,'System.IO.FileInfo.Hash')
#Sortie du Hash et du chemin
Write-Output $object
#Fermeture \"stream\"
$stream.Close()
}
}
}
function new-rapport {
param($fichier)
#construit un nouvel objet à partir d'un objet fichier
#par défaut le résultat est émis dans le pipeline
select-object -inputobject $fichier -property 'Fullname','Length','MD5'
}
#affichage
#boucle sur la collection principale
$rapport = $doublons |
foreach-object {
#boucle sur la collection group de chaque doublon
$_.group |
foreach-object {
#boucle sur la collection de fichiers de chaque group
new-rapport -fichier $_
}#file
}#group
#affichage console
#$rapport | Get-FileHash | format-table
#pour excel on utilise le format .csv
#$rapport | export-csv C:\Temp\RapportFiles.csv
#calcul le nombre de fichiers trouvés
$rapport | foreach {
$i = $i + 1
}
$Yes = 0
$No = 1
$Choice = $No
$Choice = YesNo -message \"`n$i fichier(s) trouvé(s), voulez-vous afficher leur MD5 ?\"
if ($Choice -eq $Yes)
{
$rapport | Get-FileHash | format-table
}
[/code:1]
je sais je ne suis pas un AS de ce langage ça part en steak :3
1) je chercher à corriger les caractères spéciaux dans la console.
81 fichier(s) trouvé(s), voulez-vous afficher leur MD5 ?
[Y] Yes [N] No [?] Aide (la valeur par défaut est « N ») : y
2) j'ai un nouveau probleme depuis que j'utilise le md5 je ne vois plus la taille de mes doublons :'(
bon je reprends depuis le début ^^' :
[code:1]
#conversion KiloOctet
$taille = 10kb
#recherche des fichiers par rapport à la taille
$files = gci * -recurse -force |
where-object {$_.length -gt $taille}
#compter les fichiers trouvés
$i = 0
#création
$doublons = $files |
sort-object length |
group-object length |
where-object {$_.count -gt 1}
function Clear-KeyboardBuffer {
while ($Host.UI.RawUI.KeyAvailable)
{ $null = $Host.UI.RawUI.ReadKey(\"NoEcho,IncludeKeyDown,IncludeKeyUp\"«»)}
}
function YesNo{
param(
$Caption,
$Message,
[ValidateSet(\"Yes\",\"No\"«»)]
$DefaultChoice=\"No\"
)
Clear-KeyboardBuffer
$Yes = New-Object System.Management.Automation.Host.ChoiceDescription \"&Yes\"
$No = New-Object System.Management.Automation.Host.ChoiceDescription \"&No\"
$Choices = [System.Management.Automation.Host.ChoiceDescription[]]($Yes,$No)
$Host.UI.PromptForChoice($Caption,$Message,$Choices,([byte]($DefaultChoice -eq \"no\"«»)))
}
function Get-FileHash {
[CmdletBinding()]
Param(
[Parameter(Position=0,Mandatory=$true, ValueFromPipelineByPropertyName=$true,ValueFromPipeline=$True)]
[Alias(\"PSPath\",\"FullName\"«»)]
[string[]]$Path,
[Parameter(Position=1)]
[ValidateSet(\"MD5\"«»)]
[string[]]$Algorithm = \"MD5\"
)
Process {
ForEach ($item in $Path) {
$item = (Resolve-Path $item).ProviderPath
If (-Not ([uri]$item).IsAbsoluteUri) {
Write-Verbose (\"{0} is not a full path, using current directory: {1}\" -f $item,$pwd)
$item = (Join-Path $pwd ($item -replace \"\.\\\",\"\"«»))
}
If(Test-Path $item -Type Container) {
Write-Warning (\"Cannot calculate hash for directory: {0}\" -f $item)
Return
}
$object = New-Object PSObject -Property @{
Path = $item
}
#Ouverture \"stream\"
$stream = ([IO.StreamReader]$item).BaseStream
foreach ($Type in $Algorithm) {
[string]$hash = -join ([Security.Cryptography.HashAlgorithm]::Create( $Type ).ComputeHash( $stream ) |
ForEach {\"{0:«»x0}\" -f $_ })
$null = $stream.Seek(0,0)
$object = Add-Member -InputObject $Object -MemberType NoteProperty -Name $Type -Value $Hash -PassThru
}
$object.pstypenames.insert(0,'System.IO.FileInfo.Hash')
#Sortie du Hash et du chemin
Write-Output $object
#Fermeture \"stream\"
$stream.Close()
}
}
}
function new-rapport {
param($fichier)
#construit un nouvel objet à partir d'un objet fichier
#par défaut le résultat est émis dans le pipeline
select-object -inputobject $fichier -property 'Fullname','Length','MD5'
}
#affichage
#boucle sur la collection principale
$rapport = $doublons |
foreach-object {
#boucle sur la collection group de chaque doublon
$_.group |
foreach-object {
#boucle sur la collection de fichiers de chaque group
new-rapport -fichier $_
}#file
}#group
#affichage console
#$rapport | Get-FileHash | format-table
#pour excel on utilise le format .csv
#$rapport | export-csv C:\Temp\RapportFiles.csv
#calcul le nombre de fichiers trouvés
$rapport | foreach {
$i = $i + 1
}
$Yes = 0
$No = 1
$Choice = $No
$Choice = YesNo -message \"`n$i fichier(s) trouvé(s), voulez-vous afficher leur MD5 ?\"
if ($Choice -eq $Yes)
{
$rapport | Get-FileHash | format-table
}
[/code:1]
je sais je ne suis pas un AS de ce langage ça part en steak :3
1) je chercher à corriger les caractères spéciaux dans la console.
81 fichier(s) trouvé(s), voulez-vous afficher leur MD5 ?
[Y] Yes [N] No [?] Aide (la valeur par défaut est « N ») : y
2) j'ai un nouveau probleme depuis que j'utilise le md5 je ne vois plus la taille de mes doublons :'(
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 9 mois #19888
par Axel
Réponse de Axel sur le sujet Re:l'encodage
j'aime posé des énigmes 
bon je reprends depuis le début ^^' :
[code:1]
#conversion KiloOctet
$taille = 10kb
#recherche des fichiers par rapport à la taille
$files = gci * -recurse -force |
where-object {$_.length -gt $taille}
#compter les fichiers trouvés
$i = 0
#création
$doublons = $files |
sort-object length |
group-object length |
where-object {$_.count -gt 1}
function Clear-KeyboardBuffer {
while ($Host.UI.RawUI.KeyAvailable)
{ $null = $Host.UI.RawUI.ReadKey(\"NoEcho,IncludeKeyDown,IncludeKeyUp\"«»)}
}
function YesNo{
param(
$Caption,
$Message,
[ValidateSet(\"Yes\",\"No\"«»)]
$DefaultChoice=\"No\"
)
Clear-KeyboardBuffer
$Yes = New-Object System.Management.Automation.Host.ChoiceDescription \"&Yes\"
$No = New-Object System.Management.Automation.Host.ChoiceDescription \"&No\"
$Choices = [System.Management.Automation.Host.ChoiceDescription[]]($Yes,$No)
$Host.UI.PromptForChoice($Caption,$Message,$Choices,([byte]($DefaultChoice -eq \"no\"«»)))
}
function Get-FileHash {
[CmdletBinding()]
Param(
[Parameter(Position=0,Mandatory=$true, ValueFromPipelineByPropertyName=$true,ValueFromPipeline=$True)]
[Alias(\"PSPath\",\"FullName\"«»)]
[string[]]$Path,
[Parameter(Position=1)]
[ValidateSet(\"MD5\"«»)]
[string[]]$Algorithm = \"MD5\"
)
Process {
ForEach ($item in $Path) {
$item = (Resolve-Path $item).ProviderPath
If (-Not ([uri]$item).IsAbsoluteUri) {
Write-Verbose (\"{0} is not a full path, using current directory: {1}\" -f $item,$pwd)
$item = (Join-Path $pwd ($item -replace \"\.\\\",\"\"«»))
}
If(Test-Path $item -Type Container) {
Write-Warning (\"Cannot calculate hash for directory: {0}\" -f $item)
Return
}
$object = New-Object PSObject -Property @{
Path = $item
}
#Ouverture \"stream\"
$stream = ([IO.StreamReader]$item).BaseStream
foreach ($Type in $Algorithm) {
[string]$hash = -join ([Security.Cryptography.HashAlgorithm]::Create( $Type ).ComputeHash( $stream ) |
ForEach {\"{0:«»x0}\" -f $_ })
$null = $stream.Seek(0,0)
$object = Add-Member -InputObject $Object -MemberType NoteProperty -Name $Type -Value $Hash -PassThru
}
$object.pstypenames.insert(0,'System.IO.FileInfo.Hash')
#Sortie du Hash et du chemin
Write-Output $object
#Fermeture \"stream\"
$stream.Close()
}
}
}
function new-rapport {
param($fichier)
#construit un nouvel objet à partir d'un objet fichier
#par défaut le résultat est émis dans le pipeline
select-object -inputobject $fichier -property 'Fullname','Length','MD5'
}
#affichage
#boucle sur la collection principale
$rapport = $doublons |
foreach-object {
#boucle sur la collection group de chaque doublon
$_.group |
foreach-object {
#boucle sur la collection de fichiers de chaque group
new-rapport -fichier $_
}#file
}#group
#affichage console
#$rapport | Get-FileHash | format-table
#pour excel on utilise le format .csv
#$rapport | export-csv C:\Temp\RapportFiles.csv
#calcul le nombre de fichiers trouvés
$rapport | foreach {
$i = $i + 1
}
$Yes = 0
$No = 1
$Choice = $No
$Choice = YesNo -message \"`n$i fichier(s) trouvé(s), voulez-vous afficher leur MD5 ?\"
if ($Choice -eq $Yes)
{
$rapport | Get-FileHash | format-table
}
[/code:1]
je sais je ne suis pas un AS de ce langage ça part en steak :3
1) je chercher à corriger les caractères spéciaux dans la console.
81 fichier(s) trouvé(s), voulez-vous afficher leur MD5 ?
[Y] Yes [N] No [?] Aide (la valeur par défaut est « N ») : y
2) j'ai un nouveau probleme depuis que j'utilise le md5 je ne vois plus la taille de mes doublons :'(
bon je reprends depuis le début ^^' :
[code:1]
#conversion KiloOctet
$taille = 10kb
#recherche des fichiers par rapport à la taille
$files = gci * -recurse -force |
where-object {$_.length -gt $taille}
#compter les fichiers trouvés
$i = 0
#création
$doublons = $files |
sort-object length |
group-object length |
where-object {$_.count -gt 1}
function Clear-KeyboardBuffer {
while ($Host.UI.RawUI.KeyAvailable)
{ $null = $Host.UI.RawUI.ReadKey(\"NoEcho,IncludeKeyDown,IncludeKeyUp\"«»)}
}
function YesNo{
param(
$Caption,
$Message,
[ValidateSet(\"Yes\",\"No\"«»)]
$DefaultChoice=\"No\"
)
Clear-KeyboardBuffer
$Yes = New-Object System.Management.Automation.Host.ChoiceDescription \"&Yes\"
$No = New-Object System.Management.Automation.Host.ChoiceDescription \"&No\"
$Choices = [System.Management.Automation.Host.ChoiceDescription[]]($Yes,$No)
$Host.UI.PromptForChoice($Caption,$Message,$Choices,([byte]($DefaultChoice -eq \"no\"«»)))
}
function Get-FileHash {
[CmdletBinding()]
Param(
[Parameter(Position=0,Mandatory=$true, ValueFromPipelineByPropertyName=$true,ValueFromPipeline=$True)]
[Alias(\"PSPath\",\"FullName\"«»)]
[string[]]$Path,
[Parameter(Position=1)]
[ValidateSet(\"MD5\"«»)]
[string[]]$Algorithm = \"MD5\"
)
Process {
ForEach ($item in $Path) {
$item = (Resolve-Path $item).ProviderPath
If (-Not ([uri]$item).IsAbsoluteUri) {
Write-Verbose (\"{0} is not a full path, using current directory: {1}\" -f $item,$pwd)
$item = (Join-Path $pwd ($item -replace \"\.\\\",\"\"«»))
}
If(Test-Path $item -Type Container) {
Write-Warning (\"Cannot calculate hash for directory: {0}\" -f $item)
Return
}
$object = New-Object PSObject -Property @{
Path = $item
}
#Ouverture \"stream\"
$stream = ([IO.StreamReader]$item).BaseStream
foreach ($Type in $Algorithm) {
[string]$hash = -join ([Security.Cryptography.HashAlgorithm]::Create( $Type ).ComputeHash( $stream ) |
ForEach {\"{0:«»x0}\" -f $_ })
$null = $stream.Seek(0,0)
$object = Add-Member -InputObject $Object -MemberType NoteProperty -Name $Type -Value $Hash -PassThru
}
$object.pstypenames.insert(0,'System.IO.FileInfo.Hash')
#Sortie du Hash et du chemin
Write-Output $object
#Fermeture \"stream\"
$stream.Close()
}
}
}
function new-rapport {
param($fichier)
#construit un nouvel objet à partir d'un objet fichier
#par défaut le résultat est émis dans le pipeline
select-object -inputobject $fichier -property 'Fullname','Length','MD5'
}
#affichage
#boucle sur la collection principale
$rapport = $doublons |
foreach-object {
#boucle sur la collection group de chaque doublon
$_.group |
foreach-object {
#boucle sur la collection de fichiers de chaque group
new-rapport -fichier $_
}#file
}#group
#affichage console
#$rapport | Get-FileHash | format-table
#pour excel on utilise le format .csv
#$rapport | export-csv C:\Temp\RapportFiles.csv
#calcul le nombre de fichiers trouvés
$rapport | foreach {
$i = $i + 1
}
$Yes = 0
$No = 1
$Choice = $No
$Choice = YesNo -message \"`n$i fichier(s) trouvé(s), voulez-vous afficher leur MD5 ?\"
if ($Choice -eq $Yes)
{
$rapport | Get-FileHash | format-table
}
[/code:1]
je sais je ne suis pas un AS de ce langage ça part en steak :3
1) je chercher à corriger les caractères spéciaux dans la console.
81 fichier(s) trouvé(s), voulez-vous afficher leur MD5 ?
[Y] Yes [N] No [?] Aide (la valeur par défaut est « N ») : y
2) j'ai un nouveau probleme depuis que j'utilise le md5 je ne vois plus la taille de mes doublons :'(
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.056 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu]l'encodage