ファイルを検索して開く
カレントディレクトリから特定のファイルを検索して、見つかったファイルをエディタで開くコマンドが欲しかったので、作ってみた。
############################################################################### # 関数名: # Find-OpenFile (findop) # 説明: # 指定したパターンに合致するファイルをエディタで開きます。 # 引数; # $pattern : ファイル名のパターン(ワイルドカード指定可能) # $exe : ファイルを開くエディタ # $recurse : サブディレクトリも対象にするか ############################################################################### function Find-OpenFile([string]$pattern, [string]$exe="Hidemaru.exe", [switch]$recurse) { if($pattern.Length -eq 0) { Write-Error "開くファイルのパターンを指定してください" -category InvalidArgument } else { Get-ChildItem -recurse:$recurse | where { $_.Name -like $pattern } | foreach { Invoke-Expression ("{0} {1}" -f $exe, $_.FullName) } } } Set-Alias findop Find-OpenFile
文字列で渡した実行可能ファイル名を「Invoke-Expression」で実行しているのがミソ。