当我通过批处理文件运行该脚本(没有管理员)时,它会传递参数,但是当我以管理员身份运行该脚本时,它不会传递参数。
我尝试了链接中的命令,但没有成功:
有条件地以管理员身份打开程序
以管理员身份通过批处理文件执行脚本的命令:
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File "D:\z_Batchs e Scripts\Batchs\Normaliza_LUFS\ArqsNorms_LUFS_pass.ps1' '%_vLUF%' -Verb RunAs}"
是%_vLUF%
要传递的参数。
错误信息:
No line:1 character:4
+ & {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolic ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
powershell脚本中接收参数的命令:
Param(
[decimal]$env:_vLUF
)
批处理文件中或 powershell 脚本中的命令可能出了什么问题?
答案1
根据以下链接中的答案:
通过批处理文件以管理员身份运行 powershell 脚本
它的工作原理如下:
powershell -NoProfile -ExecutionPolicy Bypass -Command "Start-Process -Verb RunAs powershell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File \"D:\z_Batchs e Scripts\Batchs\Normaliza_LUFS\ArqsNorms_LUFS_pass.ps1\" -_vLUF %_vLUF%'"