閱讀powershells add-type的文檔,似乎可以將JScript代碼添加到您的powershell會話中。在PowerShell中使用JScript
首先是存在的,這是如何實現的一個體面的例子,其次,你可以用它來驗證普通的JavaScript代碼(我的理解JScript是MS實現)
閱讀powershells add-type的文檔,似乎可以將JScript代碼添加到您的powershell會話中。在PowerShell中使用JScript
首先是存在的,這是如何實現的一個體面的例子,其次,你可以用它來驗證普通的JavaScript代碼(我的理解JScript是MS實現)
這可能是一個很好的起點
PowerShell ABC's - J is for JavaScript(由Joe普魯特)
這裏是從上述文章中的代碼片斷:
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
這裏是一個簡單的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)
但是這是一個有點痛。
感謝那幾乎是現貨 – RC1140 2010-07-29 14:42:08