Powershell脚本未正确启动java应用程序
大家好,我正在尝试创建一个powershell脚本来运行带有参数的Java应用程序。应用程序启动,似乎正在运行,但我没有得到预期的输出。我使用Intelij用params运行了代码,这还可以,所以问题在于powershell脚本,而不是java代码。你们能检查一下吗也许你们能发现一个错误Powershell脚本未正确启动java应用程序,powershell,Powershell,大家好,我正在尝试创建一个powershell脚本来运行带有参数的Java应用程序。应用程序启动,似乎正在运行,但我没有得到预期的输出。我使用Intelij用params运行了代码,这还可以,所以问题在于powershell脚本,而不是java代码。你们能检查一下吗也许你们能发现一个错误 param ( [Parameter(Mandatory = $true)][string] $directory, [Parameter(Mandatory = $true)][ValidateS
param
(
[Parameter(Mandatory = $true)][string] $directory,
[Parameter(Mandatory = $true)][ValidateSet("bfs","dfs","astr")][string] $algorithm,
[Parameter(Mandatory = $false)][string] $jarPath = "C:\Users\user\Desktop\Repozytoria\FifteenPuzzle\target\Fifteenpuzzle-1.0-SNAPSHOT-jar-with-dependencies.jar"
)
$fileRegex ="[a-zA-Z0-9]+_[0-9]+_[0-9]+.txt";
$files = Get-ChildItem $directory | Where-Object {$_.Name -match $fileRegex} | select FullName
$strategies = @("RDUL","RDLU","DRUL","DRLU","LUDR","LURD","ULDR","ULRD");
$heuristcs = @("hamm","manh");
if($algorithm -eq "astr")
{
foreach($heuristc in $heuristcs)
{
foreach($file in $files)
{
$app = Start-Process java -ArgumentList "'-jar',$jarPath, $file, $algorithm, $heuristic" -PassThru
$app.PriorityClass = "High"
$app.WaitForExit()
}
}
}
else
{
foreach($strategy in $strategies)
{
foreach($file in $files)
{
#$file
$app = Start-Process java -ArgumentList "'-jar',$jarPath, $file, $algorithm, $strategy" -PassThru
$app.WaitForExit()
}
}
}
-ArgumentList'-jar',$jarPath,$file,$algorithm,$strategy
当我按照u所说的方式更改代码时,会出现这种错误启动进程:无法验证参数“ArgumentList”上的参数。参数为null、空或参数集合的元素包含null值。提供一个不包含任何空值的集合,然后重试该命令。
在foreach()
循环中,您使用$heuristc
(缺少一个i
),但在参数列表中,您拼写了变量名$heuristic
,非常感谢!!我总是犯这样的错误。再次感谢你,伙计!