検索だと Alias % -> ForEach-Object 使うより、Alias ? -> Where-Object 使う方が良いらしい。
例えば、ファイル名が "explorer.exe" のファイルやファイルサイズが 4624880 のファイルを見つけたいなら以下のように書けば良かった。
ところで、「|%」、「|?」等の短縮表記に関する記述はマニュアルのどこにあるのだろう?
一応 help や alias 探すと以下のような状況は確認出来るのだが。
例えば、ファイル名が "explorer.exe" のファイルやファイルサイズが 4624880 のファイルを見つけたいなら以下のように書けば良かった。
Get-ChildItem -Recurse |% { if ( $_.Name -eq "explorer.exe" ) { echo $_ } } Get-ChildItem -Recurse |% { if ( $_.Length -eq 4624880 ) { echo $_ } }↓
Get-ChildItem -Recurse |? { $_.Name -eq "explorer.exe" } Get-ChildItem -Recurse |? { $_.Length -eq 4624880 }
ところで、「|%」、「|?」等の短縮表記に関する記述はマニュアルのどこにあるのだろう?
一応 help や alias 探すと以下のような状況は確認出来るのだが。
PS ...> help "[?%]" Name Category Module Synopsis ---- -------- ------ -------- % Alias ForEach-Object ? Alias Where-Object
PS ...> Get-Alias |? { $_.Name -match "[?%]" } CommandType Name Version Source ----------- ---- ------- ------ Alias % -> ForEach-Object Alias ? -> Where-Objectぶっちゃけ自分で好きに alias 作れば良いという事か?
- or1ko's diary / 2010-01-25: PowerShellでのMap、Filter、Reduce
- PowerShell
- Microsoft / Docs / PowerShell Documentation
タグ
コメントをかく