5

PowerShell ですべてのエクスプローラー ウィンドウを閉じる次のコードを書いています。

(New-Object -comObject Shell.Application).Windows() |
 ? { $_.FullName -ne $null} |
 ? { $_.FullName.toLower().Endswith('\explorer.exe') } | % { $_.Quit() }

ただし、開いているすべてのウィンドウが閉じられるわけではありません。代わりに、ウィンドウのみを閉じ、RoundDown(N/2)+1ウィンドウをRoundUp(N/2)-1開いたままにします。

誰でもこれを手伝ってもらえますか?

4

3 に答える 3

14

パイプラインに問題があると思います。このコードは機能します:

$a = (New-Object -comObject Shell.Application).Windows() |
 ? { $_.FullName -ne $null} |
 ? { $_.FullName.toLower().Endswith('\explorer.exe') } 

 $a | % {  $_.Quit() }
于 2013-07-19T20:12:40.810 に答える