我有一个对powershell的调用.exe它看起来像这样,并且可以从我的命令行工作:
powershell.exe -noexit -command " & 'C:Testtest.ps1' "
但是,当我在当前用户的 runonce-key 中以完全相同的方式输入该条目时,没有任何反应。
调用 powershell 的正确方法是什么.exe从 runonce 或 run 传递参数?
尝试使用完整路径:
c:WINDOWSsystem32WindowsPowerShellv1.0powershell.exe -noexit "C:Testtest.ps1"
或
c:WINDOWSsystem32WindowsPowerShellv1.0powershell.exe -noexit -command " & 'C:Testtest.ps1' "
一种稍微不同的方法是将所有对 powershell 的调用放入一个简单的 *.bat 文件中.exe并从 RunOnce 密钥调用该 *.bat 文件。这样你就不需要玩参数了,这有时会搞砸。您的 PowerShell 脚本甚至可以删除该 *.bat 文件,因为它只需要一次。
使用 File 参数而不是命令。您还可以使用其他一些参数来清理内容(noprofile,sta和/或WindowStyle)
这是我使用的一个例子。
C:WINDOWSsystem32WindowsPowerShellv1.0powershell.exe -noprofile -sta -WindowStyle Hidden -File "C:TestTest.ps1"
您可以将其包装在cmd
中。这样它就可以访问正常的PATH
并可以找到Powershell。
例如
cmd /c (powershell -ExecutionPolicy Bypass -file "C:Testtest.ps1")