2010-07-29 4 views
6

En parcourant la documentation pour powershells add-type, il semble que vous pouvez ajouter du code JScript à votre session powershell.Utilisation de JScript dans PowerShell

est d'abord là un exemple décent de la façon dont cela est fait et pouvez-vous utiliser d'autre part cela pour valider le code javascript normal (que je comprends JScript est la mise en œuvre de MS)

Répondre

5

Cela peut être un bon point de départ

PowerShell ABC's - J is for JavaScript (par Joe Pruitt)

Voici un extrait de code de l'article ci-dessus:

function Create-ScriptEngine() 
{ 
    param([string]$language = $null, [string]$code = $null); 
    if ($language) 
    { 
    $sc = New-Object -ComObject ScriptControl; 
    $sc.Language = $language; 
    if ($code) 
    { 
     $sc.AddCode($code); 
    } 
    $sc.CodeObject; 
    } 
} 
PS> $jscode = @" 
function jslen(s) 
{ 
    return s.length; 
} 
"@ 
PS> $js = Create-ScriptEngine "JScript" $jscode; 
PS> $str = "abcd"; 
PS> $js.jslen($str); 
4 
+0

Merci qui était presque sur place – RC1140

0

ici est un simple analyseur de JSON: https://gist.github.com/octan3/1125017

$code = "static function parseJSON(json) {return eval('(' +json + ')');}" 
$JSONUtil = (Add-Type -Language JScript -MemberDefinition $code -Name "JSONUtil" -PassThru)[1] 

$obj = $JSONUtil::parseJSON($jsonString) 

-PassThru vous donnera un objet (en fait deux objets; vous voulez le second) que vous pouvez utiliser pour appeler les fonctions.

Vous pouvez omettre si vous voulez, et appeler la fonction comme ceci:

[Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes.JSONUtil]::parseJSON($jsonString) 

mais c'est un peu une douleur.

Questions connexes