从 PowerShell 运行批处理脚本并传递长选项

问题描述 投票:0回答:1

我有一个按预期工作的批处理脚本:

operationalhealth.bat --hostname machine.domain.com --username admin --password admin1 --outputDir C:\Temp

我试图从 PowerShell 触发此脚本并传递“长选项”参数,但没有成功。

我已经尝试过:

示例1:

$scriptPath = "C:\path\to\operationalhealth.bat"
$arguments = "--hostname", "machine.domain.com", "--username", "admin", "--password", "admin1", "--outputDir", "C:\Temp"

Start-Process -FilePath "cmd.exe" -ArgumentList "/c", "$scriptPath", $arguments -Wait

示例2:

Start-Process "C:\path\to\operationalhealth.bat" -ArgumentList "--hostname machine.domain.com --username admin --password admin1 --outputDir C:\Temp" -Wait

在每个实例中,命令提示符都会打开,但似乎没有收到参数。我确信这是一个模糊的语法问题,但我无法理解正确的格式是什么。任何帮助将不胜感激!

powershell batch-file
1个回答
0
投票

这应该有效:

$scriptPath = "C:\path\to\operationalhealth.bat"
$outputDir = "C:\Temp"
& $scriptPath --hostname machine.domain.com --username admin --password admin1 --outputDir $outputDir
© www.soinside.com 2019 - 2024. All rights reserved.