2010-07-29 3 views
6

설명서를 통해 powershells add-type을 읽으면 JScript 코드를 powershell 세션에 추가 할 수 있습니다.powershell에서 JScript 사용하기

첫째로이 작업을 수행하는 방법의 괜찮은 예제가 둘째 정상적인 자바 스크립트 코드를 확인하려면이 옵션을 사용할 수 있습니다

답변

5

이 좋은 출발점

될 수있다 (나는 JScript의 이해로는 MS의 구현입니다)

PowerShell ABC's - J is for JavaScript 다음

은 위의 문서에서 코드입니다 (조 프 루잇에 의해) : 여기

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

감사합니다. – RC1140

0

은 간단한 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 당신에게 오브젝트 (실제로는 두 개의 객체를 줄 것이다는; 당신은 함수를 호출하는 데 사용할 수있는 두 번째를 원한다.)

당신은 당신이 원하는 경우 생략,이 같은 함수를 호출 할 수 있습니다 :

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

을하지만 그 고통의 비트입니다.