我有一個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