Powershell脚本未正确启动java应用程序

Powershell脚本未正确启动java应用程序,powershell,Powershell,大家好,我正在尝试创建一个powershell脚本来运行带有参数的Java应用程序。应用程序启动,似乎正在运行,但我没有得到预期的输出。我使用Intelij用params运行了代码,这还可以,所以问题在于powershell脚本,而不是java代码。你们能检查一下吗也许你们能发现一个错误 param ( [Parameter(Mandatory = $true)][string] $directory, [Parameter(Mandatory = $true)][ValidateS

大家好,我正在尝试创建一个powershell脚本来运行带有参数的Java应用程序。应用程序启动,似乎正在运行,但我没有得到预期的输出。我使用Intelij用params运行了代码,这还可以,所以问题在于powershell脚本,而不是java代码。你们能检查一下吗也许你们能发现一个错误

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
,非常感谢!!我总是犯这样的错误。再次感谢你,伙计!