Question (Résolu) Convertir une String vers Int

Plus d'informations
il y a 16 ans 7 mois #5098 par BARTHE
Bonjour,

je cherche a calculer le total de plusieurs dossiers.
Pour cela je m'appuie sur cette fonction

[code:1]Function Dir-Size
{
Param([string]$directory)

$colItems=(Get-ChildItem $directory -recurse | Measure-Object -property length -sum)
\"{0:N2}\" -f ($colItems.sum / 1MB«»)
}
[/code:1]

Le problème et lorsque je l'utilise

[code:1]$test= Dir-Size -directory \"d:\\"[/code:1]

C'est une valeur de type string qui est renvoyée et non un nombre ..

j'ai bien essayé de mettre [int]$test

mais cela me renvoi

Impossible de convertir la valeur « 16 575,24 » en type « System.Int32 ». Erreur :
« Le format de la chaîne d'entrée est incorrect. »
Au niveau de ligne : 1 Caractère : 11
+ [int]$test <<<<
+ CategoryInfo : NonSpécifié : (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException

Voila donc si quelqu'un peut m'indiquer l'erreur que j'ai fait.

Merci d'avance

Message édité par: cyril.barthe, à: 17/08/09 11:16<br><br>Message édité par: cyril.barthe, à: 26/08/09 21:28

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

Plus d'informations
il y a 16 ans 7 mois #5099 par PULVERAIL
Réponse de PULVERAIL sur le sujet Re:Convertir une String vers Int
Je viens de tester ton script...

Et je n'ai aucun message d'erreur qui s'affiche à l'écran... :huh:

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

Plus d'informations
il y a 16 ans 7 mois #5100 par BARTHE
Réponse de BARTHE sur le sujet Re:Convertir une String vers Int
Merci d'avoir essayé,

J'ai résolu le problème en changeant

[code:1]\&quot;{0:N2}\&quot; -f ($colItems.sum / 1MB«»)[/code:1]

par

[code:1][float]($colItems.sum / 1MB«»)[/code:1]

Grâce au super article ci dessous

powershell.com/cs/blogs/tobias/archive/2...ders-total-size.aspx

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

Plus d'informations
il y a 16 ans 7 mois #5109 par Laurent Dardenne
Oui, c'est une solution.
Ta fonction se nomme Dir-Size mais tu ne précise pas qu'elle renvoi une taille en MB.
Tu peux déjà la renommer en Get-SizeFileDirectory.

A mon avis l'usage de MB et autre est plutôt dédié à l'affichage, dans ton cas on ne sait plus ce qu'on manipule, une valeur certes mais on ne connait plus son unité.
Si ensuite on souhaite changer d'unité ce n'est plus possible.

Tutoriels PowerShell

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

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