2011-08-30 7 views
0

J'ai écrit le code ps1 powershell qui a ($args[0] * -1) par exemple une variable avec une multiplication de valeur négative. Le code brise juste quand il est exécuté dans powershell : .\myscript.ps1.Invite Powershell et CMD: Problème de multiplication de valeur négative

Pendant la programmation du script, il ne fonctionne pas, alors quand je l'ai fait courir dans le cde invite à l'aide Powershell.exe -ExecutionPolicy ByPass "c:\myscript.ps1" 101 3, il a jeté l'erreur pour ($args[0] * -1) [mulitplication négatif] et en cours d'exécution manuellement dans l'invite cmd a donné la même problème. Donc à ce moment-là, j'ai fait un petit tweak pour coder en acceptant la valeur négative en tant qu'attribut au lieu d'être multiplié en code à -1 et l'avoir fait fonctionner.

Si à l'avenir comment écrire le code ps1 qui fait la multiplication de valeur négative et s'exécute également dans l'invite CMD?

+2

Je ne peux pas répliquer l'erreur. Pour moi fonctionne en console et appelé à partir d'un CMD. –

+0

Deuxième chrétien et quelle est l'erreur exacte? Collez cela dans votre question. – manojlds

+1

Ma meilleure estimation est que le problème est avec $ args étant des chaînes et non des nombres. – JasonMArcher

Répondre

0

Le problème ne concernait pas l'entrée de valeur négative ou la ligne de commande, mais le problème résidait dans le type de données; Comme l'a souligné JasonMArcher. Un casting de type simple a fait tout le tour.