Powershell小技巧之使用Jint引擎在PowerShell中执行Javascript函数

这里演示如何利用PowerShell将一段Javascript函数字符串交给Jint引擎去执行。

执行Javascript函数

执行Javascript函数

.Net版的Javascript解释器

可以从Git上获取Jint的代码,也可以从nuget上下载Jint的程序集。

Jint是一个面向.Net的Javascript解释器。Jint不会把Javascript编译成.Net字节码,所以它非常适用于脚本小且运行起来速度快的工程,或者运行在不同平台上的脚本。

PowerShell调用

拿到Dll根据-Path参数直接使用Add-Type命令即可:

function Invoke-JSAdd ($a, $b) {             
    Add-Type –Path  "C:jintJint.dll"           
             
    $JavaScript = "
        function add(a, b) { 
            return a + b; 
        }
    "           
    $add = (New-Object Jint.Engine).            
            Execute($JavaScript).            
            GetValue("add")            
             
    $add.Invoke($a, $b).ToString()            
}