繁体   English   中英

如何在批处理文件中“打开”

[英]How to “open with” in a batch file

我有一个Windows PowerShell脚本,可以在服务器上提供给我的用户。 我不希望他们必须出去找到PS脚本,右键单击并单击“使用powershell运行”或执行“打开方式”。 Windows(至少Win 7)默认程序是记事本。

我想制作一个批处理文件来执行此操作。 我试过了:

start "c:\myfile.ps1" powershell.exe

以及其他一些变体,但我所能做的就是启动powershell,或者在默认程序notepad中打开我的文件。

任何建议表示赞赏! 谢谢!

奖金问题:如果我以管理员身份运行我的批处理文件,它还会以管理员身份运行我的PS脚本吗?

只需在批处理文件中使用PowerShell.exe的-file参数:

PowerShell.exe -file c:\MyFile.ps1

此外,某些用户可能将其执行策略设置为限制脚本执行的内容,因此您可能希望执行以下操作:

PowerShell.exe -ExecutionPolicy Bypass -file c:\MyFile.ps1

如果你想使用start来启动它,你可以这样做,因为Ansgar Wiechers通过运行注意到:

start "" PowerShell.exe -ExecutionPolicy Bypass -file c:\MyFile.ps1

有关使用start一些注意事项:默认情况下,它将在单独的窗口中启动PowerShell,并继续执行批处理文件的其余部分,而无需等待PowerShell窗口关闭。 如果这是不可取的,你有两个选择。 您可以指定/wait等待PowerShell窗口在继续批处理文件之前关闭,或者您可以使用/ B选项将无法打开新窗口,并将在当前控制台窗口中执行PowerShell。

最后,如果您的批处理文件在Administrator上下文中运行,那么PowerShell也是如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM