使用批处理文件(.bat)运行PS1脚本

时间:2011-07-07 02:00:05

标签: powershell batch-file vmware virtual-machine powercli

目前,以下是启动VMware vSphere PowerCLI命令提示符的路径。我希望使用批处理文件自动运行sample.ps1脚本。如何将sample.ps1纳入此路径并创建批处理文件?

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -noe -c ". \"C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1\""

4 个答案:

答案 0 :(得分:3)

如果您使用的是PowerShell 2.0,则可以使用PowerShell.exe的-file参数

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -noe -file "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1"

如果您使用的是PowerShell 1.0,则可以使用-command参数

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -noe -command "& 'C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1'"

答案 1 :(得分:1)

echo off

Title,Report Script &color 9e
for /f "usebackq delims=$" %%a in (`cd`) do (
  set SCRIPTDIR=%%a
)

(Set ScriptFile=%SCRIPTDIR%\Report.ps1)

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -c ". \"C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1\";%ScriptFile%"

答案 2 :(得分:0)

您可以通过调用bat文件(如ps1),通过.bat文件启动任意.ps1脚本。然后批量提取文件名,并用它调用powershell。

对于即用型解决方案,请使用以下要点:https://gist.github.com/JonasGroeger/10417237

答案 3 :(得分:0)

我在另一个页面中看到了这个代码,我在W2012 R2中对它进行测试并运行。

我希望它有效:

C:\>powershell "C:\>1\file.ps1"