powershell - Powershell 从 Visual Basic 脚本中获取返回值
问题描述
我在 Visual Basic 脚本中有一些旧代码。我不想将这个旧代码重新编写到 PowerShell 中,而是想从 PowerShell 调用 VB 脚本并捕获它们的返回值。
如何在 powershell 中获取 Visual Basic 脚本的返回值?
像这样的东西:
$returnValue = Invoke-Command -ScriptBlock{.\vbs\legacyVbsFunction.vbs}
视觉基本功能可能如下所示
Function MyFunction() As Double
Return 3.87 * 2
End Function
解决方案
听起来您想捕获 VBScript 的 (stdout)输出:
$output = cscript.exe //nologo .\vbs\legacyVbsFunction.vbs
请注意,这$output
将是单个字符串(如果脚本仅输出 1 行)或字符串数组(如果是多行输出)。
例如,假设包含.\vbs\legacyVbsFunction.vbs
以下代码:
Function MyFunction
MyFunction = 3.87 * 2
End Function
' Call the function and print it to stdout.
Wscript.Echo(MyFunction)
您可以捕获输出并将其转换为 a [double]
,如下所示:
[double] $output = cscript.exe //nologo .\vbs\legacyVbsFunction.vbs
$output
然后包含7.74
.
推荐阅读
- c# - C# 打开嵌入式 zip 文件
- ios - 通过 UDP 发送 hexString 数据
- python - 正则表达式:从字符串中搜索一个数字并排除以“N”开头的数字(可以是整数/浮点数)
- javascript - 使用 javascript 提交表单
- objective-c - 检测 Xcode 项目开发语言
- scala - 如何在 Flow 中使用确认语义?
- c# - 我如何在 wpf Grid 中支持 GIF 图像?
- php - Laravel - Ajax (GET):如何将 json 数据从控制器发送回视图
- gradle - local.properties 中的 Gradle 属性
- c++ - 使用 FBX SDK 获取索引