我有一个名为Restart-Audio.ps1
的脚本Stop-Process -Confirm -Name musicapp*
Stop-Service audiosrv
Stop-Service AudioEndpointBuilder
Start-Service audiosrv
Invoke-Item C:\path\to\music\app.exe
每次我开始一个新的PowerShell会话时,我希望在我像普通的cmdlet一样输入“Restart-Audio”时运行这个脚本。当我尝试将其添加到我的PowerShell配置文件时,它尝试运行脚本,要求确认停止进程。我不希望它在PowerShell会话启动后立即运行;我希望命令在我告诉它时运行。
感谢。
答案 0 :(得分:2)
可以使用Powershell配置文件完成此操作,有关详细信息,请参阅here。
您基本上创建(如果该文件尚不存在)C:\Users\<<UserName>>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
并且可以包含您的上述脚本。
我将文件构造为:
Function Restart-Audio{
Stop-Process -Confirm -Name musicapp*
Stop-Service audiosrv
Stop-Service AudioEndpointBuilder
Start-Service audiosrv
Invoke-Item C:\path\to\music\app.exe
}
然后您只需打开Powershell并输入Restart-Audio
即可运行该功能。
此外,如果您将脚本保存到$env:PATH
中的任何文件夹,您只需键入脚本名称的前几个字符,然后单击TAB即可运行脚本。