我有一个VBscript文件。我在Windows 2012服务器上使用CScript运行此VBscript。 VBscript在服务器上运行良好。从Powershell调用VBScript ..这是正确的方式来做到这一点?
但我需要从Powershell调用此VBScript文件。这就是我所做的。
为简单起见,这是我在我的VBScript文件
echo.vbs
Msgbox("hello world")
我写的test.ps1
$acommand = "C:\Windows\System32\Cscript.exe C:\deleteit\echo.vbs"
Invoke-Expression $acommand
...发生了什么?我建议,如果可能的话,你将你的VBS转换为PS,并避免这种情况。你基本上是从现代脚本语言中调用一种老式的脚本语言。如果你坚持一个平台,它会更简单 –
你为什么这么做?运行exe的正确方法是*仅运行一个exe *。 PowerShell是一个shell,它可以直接运行。 'PS C:\> c:\ windows \ system32 \ cscript.exe c:\ deleteit \ echo.vbs' – TessellatingHeckler
PS C:\> C:\> cd c:\ windows \ system32 \ cscript.exe c:\ deleteit \ echo.vbs C:\> cd:术语'C:\> cd'不被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,如果包含路径,请检查路径是否正确,然后重试。 (C:\ windows \ system32 \ cscript.exe c:\ deleteit \ echo.vbs + ~~~~~~ + CategoryInfo:ObjectNotFound:(C:\ Program Files \ )在线:1 char:1 + C:\> \> cd:String)[],CommandNotFo undException + FullyQualifiedErrorId:CommandNotFoundException – Jason