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

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

目前这是我启动 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\""

答案1

您要做的是替换命令末尾所调用的位置,Initialize-PowerCLIEnvironment.ps1并将其替换为 sample.ps1 文件的路径。

您几乎肯定需要将示例文件的第一行作为原始引用,Initialize-PowerCLIEnvironment.ps1以便初始化代码(最有可能是函数/cmdlet 定义)在任何可能依赖它的代码之前运行。

例如,sample.ps1 文件的内容看起来如下:

# source vSphere PowerCLI Environment first
. "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1"
# custom code follows
$me = "Hello, vSphere and PowerCLI!!!"

答案2

echo off

Title,Sample Script &color 9e

for /f "usebackq delims=$" %%a in (`cd`) do (
  set SCRIPTDIR=%%a
)

(Set ScriptFile=%SCRIPTDIR%\Sample.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%"

相关内容