我一直在尝试从批处理文件中启动一个简单的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上进行了采样。两者都有相同的结果。我错过了什么?
答案 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脚本文件 名称,然后再试一次。