从.bat文件调用Power shell函数

时间:2015-02-10 06:17:08

标签: powershell

当我尝试从.bat文件调用下面的power shell函数时,它甚至没有执行。这里我的函数需要三个参数。 我尝试从bat文件下面的脚本。他们都没有工作。 任何人都可以指导我在哪里犯了错误。请急需。

powershell ".\Deploy.ps1 Install-Application -msi '.\test-1.0.1.msi'
 -InstallPath '.\InstallPath'
 -Environment 'Local'"

powershell NoProfile -ExecutionPolicy Bypass -Command  ".\Deploy.ps1 Install-Application -msi '.\test-1.0.1.msi'
 -InstallPath '.\InstallPath'
 -Environment 'Local'"


function Install-Application
{
 param(
  [Parameter(Position=0,Mandatory=$true,HelpMessage="Msi file should be existing")]
  [ValidateScript({Test-Path $_})]
  [Alias("msi")]
  [string]$File,

  [Parameter(Position=1,HelpMessage="Path wherein the resource file will be installed")]
  [Alias("path")]
  [string]$InstallPath,

  [Parameter(Position=2,Mandatory=$true,HelpMessage="Only valid parameters are Local,Dev,Test and Prod")]
  [Alias("env")]
  [ValidateSet("Local","Dev","Prod","Test")]
  [string]$Environment,

  )

1 个答案:

答案 0 :(得分:1)

不要将它包裹在一个函数中,只需使用:

powershell.exe -File "c:\pathtoyourfile.ps1" -msi .\test-1.0.1.msi -installpath .\InstallPath -environment Local