hack のためのネタ帳, etc,,,

コードの改善

検索だと Alias % -> ForEach-Object 使うより、Alias ? -> Where-Object 使う方が良いらしい。

例えば、ファイル名が "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 作れば良いという事か?

参考

関連

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます