如何从OS命令行启动PowerShell脚本?

我有一个PowerShell脚本来build立我的项目文件,我想有能力从我的文件pipe理器的命令行运行它(可能,做一个这个脚本的快捷方式,所以我可以开始从我的桌面生成)
任何方式来做到这一点?

如果你想让PowerShell脚本的行为更像典型的cmd \ bat脚本,你可以input名字并让它们执行,你可以设置关联和文件types来告诉shell将正确的parameter passing给Powershell并设置patheextvariables,所以你只需要键入脚本的名称,而不是完整的name.ext。

首先检查.ps1扩展名是否与Powershell相关联 – 它应该是值得确认的:

assoc .ps1 

这应该给你像这样的东西:

 .ps1=Microsoft.PowerShellScript.1 

现在使用Powershell命令行语法来调用此文件types的默认打开行为(使用记事本打开)以调用脚本。 我们需要在参数&1周围添加额外的引号来处理带空格的path。

 ftype Microsoft.PowerShellScript.1="c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe" "& '&1'" 

如果您确实希望Powershell脚本像其他脚本文件一样操作,请修改pathext环境variables。 理想的设置是通过我的电脑 – >属性 – >高级系统设置 – >高级选项卡 – >环境variables,但是您可以通过以下方式临时将其设置在cmd shell中:

 set pathext=.ps1;%pathext% 

一种方法是使用适当的命令创build一个batch file。

运行build.bat

  %SystemRoot%\ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe -command“&'c:\ scripts \ build_project.ps1'” 

如果您的ps脚本使用它们,您必须将batch file中的命令行parameter passing给脚本。 您还将必须加载脚本使用的所有PowerShell模块:

  Add-PSSnapin模块名称