如果找到文件,让 get-Childitem 停止

make get-Childitem stop if a file is found

我有这个代码:

    $Paths = 'C:\' , 'P:\' , "\fril01\ufr$$env:username"

    $torEXE = Get-childitem -path $paths -recurse -Exclude $ExcludePaths -erroraction 'silentlycontinue'  | where-object {$_.name -eq "Tor.exe"}

    if ($torEXE.Exists) {$answer = 1}

检查文件 tor.exe,但如您所见,此检查可能需要一些时间。检查可能会在前几秒找到 tor.exe,但会继续检查所有路径。我希望它在找到 tor.exe 后立即停止,而不是继续搜索它。 怎么做到的?

在第一个 $N 个对象到达 Select-Object 后,将 |Select-Object -First $N 粘贴到 管道的末端:

$torEXE = Get-ChildItem -Path $paths -Recurse -Exclude $ExcludePaths -ErrorAction 'silentlycontinue'  | Where-Object {$_.Name -eq "Tor.exe"} |Select -First 1