我有一个看起来像这样的powershell.exe,它可以从我的命令行运行:
powershell.exe -noexit -command " & 'C:\Test\test.ps1' "
但是,当我在当前用户的runonce-key中完全按照那种方式输入该条目时,没有任何反应。
从runonce调用powershell.exe传递参数或运行?
的正确方法是什么?答案 0 :(得分:7)
尝试使用完整路径:
c:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noexit "C:\Test\test.ps1"
或
c:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command " & 'C:\Test\test.ps1' "
答案 1 :(得分:2)
稍微不同的方法是将所有参数/参数的powershell.exe调用到一个简单的* .bat文件中,并从RunOnce密钥调用该* .bat文件。这样你就不需要玩params了,有时会搞乱。您的PowerShell脚本甚至可以删除该* .bat文件,因为它只需要一次。
答案 2 :(得分:1)
使用File参数而不是命令。 您还可以使用其他一些参数来清理(noprofile,sta和/或WindowStyle)
这是我使用的一个例子。
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noprofile -sta -WindowStyle Hidden -File "C:\Test\Test.ps1"