如何在runonce键中运行powershell脚本?
我对powershell.exe的调用如下所示,它可以从我的命令行工作:如何在runonce键中运行powershell脚本?,powershell,windows-7,runonce,Powershell,Windows 7,Runonce,我对powershell.exe的调用如下所示,它可以从我的命令行工作: powershell.exe -noexit -command " & 'C:\Test\test.ps1' " 但是,当我在当前用户的runonce键中以这种方式输入该条目时,什么也没有发生 通过runonce或run传递参数调用powershell.exe的正确方法是什么?尝试使用完整路径: c:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -
powershell.exe -noexit -command " & 'C:\Test\test.ps1' "
但是,当我在当前用户的runonce键中以这种方式输入该条目时,什么也没有发生
通过runonce或run传递参数调用powershell.exe的正确方法是什么?尝试使用完整路径:
c:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noexit "C:\Test\test.ps1"
或
另一种稍有不同的方法是将所有对powershell.exe的调用以及所有参数/参数放入一个简单的*.bat文件中,然后从RunOnce键调用该*.bat文件。这样你就不需要和params玩了,有时候会搞砸的。PowerShell脚本甚至可以删除该*.bat文件,因为它只需要一次。使用file参数而不是命令。 您还可以使用一些其他参数来清理内容(noprofile、sta和/或WindowStyle) 这是我使用的一个例子
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noprofile -sta -WindowStyle Hidden -File "C:\Test\Test.ps1"
谢谢,这是路径的问题,它在commandshell中工作,因为我猜powershell路径在已登录时在我的环境设置中,但在执行runonce键时还没有。但是,我使路径更加通用:%WINDIR%\system32\WindowsPowerShell\v1.0\powershell.exe,并在将另一个powershell脚本中的路径添加到注册表之前使用ExpandEnvironmentString。这是否也适用于Win7 x64?如果要更改脚本的工作目录,该怎么办?
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noprofile -sta -WindowStyle Hidden -File "C:\Test\Test.ps1"