Powershell脚本不从批处理文件触发

时间:2011-01-27 20:52:10

标签: powershell batch-file powershell-v2.0

我一直在尝试从批处理文件中启动一个简单的PowerShell脚本。在线查看后,建议是使用Set-ExecutionPolicy设置策略。

我已完成此操作并使用Get-ExecutionPolicy更改了策略。

但是,运行此批处理文件会导致“打开方式”对话框而不是脚本的执行。

批次:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe ^&'./script.psl'

Powershell的:

Write-Host "This is a message"

我已经在Windows 7和Server 2008 R2上进行了采样。两者都有相同的结果。我错过了什么?

2 个答案:

答案 0 :(得分:1)

要从命令行运行脚本文件,请使用powershell.exe的-file参数。

 %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe  -file './script.psl'

答案 1 :(得分:0)

要从* .cmd文件运行脚本文件,请使用powershell.exe的-file参数和双引号:

 %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe  -file "./script.ps1"

如果在批处理文件中只使用一个引用,则可能会出现PowerShell错误,如:

  

处理-File''。/ build.ps1''失败,因为该文件没有   '.ps1'扩展名。指定有效的Windows PowerShell脚本文件   名称,然后再试一次。