* ファイル検索 UNIXのfindのようにファイル名検索 [#x2585d3e]

*** ファイル名(フォルダ名)による再起検索 [#qde9c5a1]

 dir -Recurse "*.js" | select -First 10 FullName
 dir -Recurse -File "*index*" | select -First 10 fullname     # ファイルだけ
 dir -Recurse -Directory "*img*" | select -First 10 fullname  # ディレクトリだけ
 dir -Recurse "*.png","*.jpg" | select -First 10 fullname     # 複数のファイル名で

*** 再帰検索でmaxdepthを指定する 1 [#decc0b85]
 
 dir "*.txt" | select fullname                        # 直下のtxtファイル
 dir "*.txt", "*\*.txt" | select fullname             # 直下のtxtファイルと直下のフォルダ内のtxtファイル
 dir "*.txt", "*\*.txt", "*\*\*.txt | select fullname # 以降、同様

*** 再帰検索でmaxdepthを指定する 2 [#mf30a0d2]

 dir -Depth 1 | ? { $_.Name -like "*.txt" } | select fullname # 直下のtxtファイルと直下のフォルダ内のtxtファイル
 dir -Depth 1  -Recurse -Filter *.txt | select fullname
 
  FullName
 --------
 C:\temp\1.txt
 C:\temp\foo\2.txt

PS5.0以上 http://stackoverflow.com/questions/13249085/limit-get-childitem-recursion-depth

*** 相対パスを取得 [#o6c92ecb]

 dir -Recurse "*.txt"  | select -First 10 |  Resolve-Path -Relative

*** CygpathでUNIX式の/区切りのファイル名へ変換 [#q29ea311]
 dir -Recurse *.txt | % { cygpath.bat $_.FullName }

あらかじめcygpathはパスを調整しておくこと。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS