0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OS別ファイル・フォルダ検索コマンド(Windows / Linux)

0
Posted at

はじめに

毎回ファイルやフォルダを探すときのコマンドを忘れるので整理します

随時更新中

Windowsで使うコマンド

主にdirwhereコマンドを利用します。

コマンドプロンプト編

・ dirコマンド

dirコマンドのオプション一覧

基本オプション

  • /s - サブディレクトリも含めて再帰的に検索
  • /b - ファイル名のみを表示(余分な情報を省略したベアフォーマット)

属性フィルタ(/aオプション)

  • /a:d - ディレクトリのみ表示
  • /a:h - 隠しファイルのみ表示
  • /a:r - 読み取り専用ファイルのみ表示
  • /a:s - システムファイルのみ表示
  • /a:-h - 隠しファイル以外を表示(-で否定)

並び替え(/oオプション)

  • /o:n - 名前順で並び替え
  • /o:s - サイズ順で並び替え
  • /o:e - 拡張子順で並び替え
  • /o:d - 日付順で並び替え
  • /o:-s - サイズの大きい順(-で逆順)

表示形式オプション

  • /x - 8.3形式の短縮ファイル名も表示
  • /q - ファイルの所有者情報を表示

時刻フィールド(/tオプション)

  • /t:c - 作成日時を表示
  • /t:a - 最終アクセス日時を表示
  • /t:w - 最終更新日時を表示(デフォルト)

/a オプション(属性でフィルタリング)

rem 隠しファイルのみ表示
dir /a:h

rem ディレクトリのみ表示
dir /a:d

rem ディレクトリを除外してファイルのみ表示
dir /a:-d

/o オプション(並び替え)

rem サイズの大きい順に表示
dir /o:-s

rem 拡張子順→名前順で表示
dir /o:en

rem 更新日時の新しい順に表示
dir /o:-d

ファイル・フォルダ検索

rem サブディレクトリに含まれるファイルやディレクトリも表示する
dir /s

rem 現在のディレクトリとサブディレクトリから検索
dir /s *.xlsx

rem ファイル名のみを表示(パス情報なし)
dir /b *.mp3

rem 現在のディレクトリとサブディレクトリから.jsonの拡張子ファイル名を表示
dir /s /b *.json

よく使うコマンド
全ファイル:隠しファイルも含む全てのファイル

rem 全ファイルを日付の降順で表示
dir /a /o:-d /t:w

rem サブディレクトリを含む全ファイルのサイズ、日時、所有者をサイズの降順で表示
dir /a /q /s /t:c /o:-s

rem サイズ順で並び替え、サブディレクトリも検索
dir /s /o:s *.log

rem 作成日時でフィルタリング(2025/1/1〜)
dir /t:c | findstr "2025"

rem 特定の属性を持つファイルのみ表示(読み取り専用で隠しでなく、システムファイルでない)
dir /a:r-h-s  

dirコマンドで3文字を超える拡張子を検索する場合

dir *.docxを実行すると、.docxだけでなく.docx_.docx2などもマッチする場合があります。

正確な拡張子のみを取得したい場合はfindstrと組み合わせる必要があります
dir /b /s | findstr /e ".docx"


・ whereコマンド

whereコマンドのオプション一覧

/R:指定されたディレクトリから再帰的に検索を開始
/Q:ファイルを表示せず、終了コード(成功時0、失敗時1)のみ返す
/F:出力ファイル名を引用符で囲んで表示
/T:ファイルのサイズ、タイムスタンプ、日付スタンプを表示

rem PATHに含まれるディレクトリからnotepad.exeを検索
where notepad.exe

rem 指定ディレクトリから再帰検索
where /r C:\Users\Documents *.xlsx

rem 複数のパスから検索(セミコロン区切り)
where "C:\Windows;C:\Program Files:python.exe"

rem サイズとタイムスタンプも表示
where /t notepad*

rem 環境変数を使用した検索
where $PATH:cmd.exe
 

PowerShell編

# フォルダ内の一覧とサブフォルダの一覧を表示(dirと同じ)
Get-ChildItem
# 隠し属性、システム属性のファイルを含めて表示
Get-ChildItem -Force
# ファイルサイズが大きい順にソート
Get-ChildItem -Recurse | Sort-Object Length -Descending  
# 現在のディレクトリのファイル一覧を表示
Get-ChildItem
# または短縮形
gci
# サブディレクトリを含めて再帰的に検索
Get-ChildItem -Recurse
# 特定の拡張子のファイルを再帰的に検索
Get-ChildItem *.txt -Recurse

# ファイルのみ表示
Get-ChildItem -File
# ディレクトリのみ表示
Get-ChildItem -Directory

# 隠しファイルも含めて表示
Get-ChildItem -Force
# 隠しファイルのみ表示
Get-ChildItem -Hidden

# 検索の深さを制限(2階層まで)
Get-ChildItem -Recurse -Depth 2

# エラーを無視して検索
Get-ChildItem -Recurse -ErrorAction SilentlyContinue

# 複数の拡張子を検索
Get-ChildItem -Include *.txt,*.log,*.csv -Recurse

# 特定のパターンを除外
Get-ChildItem -Recurse -Exclude *.tmp,*.bak

# 指定ディレクトリ以下を再帰的に検索
Get-ChildItem C:\Users\Documents -Recurse -Filter "*.txt"
# または
gci C:\Users\Documents\*.txt -Recurse

フィルタリング(Where-Object)

# 1MB以上のファイルを検索
gci -Recurse | Where-Object {$_.Length -gt 1MB}

# 7日以内に更新されたファイル
gci -Recurse | ? {$_.LastWriteTime -gt (Get-Date).AddDays(-7)}

Linux編

Macの場合はデフォルトで使用できます

findコマンド

findコマンドのオプション一覧

基本オプション

  • -name - ファイル名で検索(大文字小文字を区別)
  • -iname - ファイル名で検索(大文字小文字を区別しない)
  • -type f - ファイルのみ検索
  • -type d - ディレクトリのみ検索

時間関連オプション

  • -mtime -7 - 7日以内に更新
  • -mtime +30 - 30日より前に更新
  • -newer file - 指定ファイルより新しい

サイズ関連オプション

  • -size +1M - 1MB以上
  • -size -100k - 100KB未満
  • -empty - 空のファイル/ディレクトリ

その他

  • -maxdepth n - 検索の深さを制限
  • -user name - 所有者で検索
  • -exec cmd {} \; - 検索結果に対してコマンド実行
# 現在のディレクトリ以下のすべてのファイルを表示
find .

# 特定のディレクトリから検索
find /home/user/Documents

# ファイル名で検索(大文字小文字を区別)
find . -name "*.txt"

# ファイル名で検索(大文字小文字を区別しない)
find . -iname "*.txt"

# ファイルのみ検索
find . -type f

# ディレクトリのみ検索
find . -type d

# サイズで検索(1MB以上のファイル)
find . -size +1M

# 7日以内に更新されたファイル
find . -mtime -7

# 特定のユーザーが所有するファイル
find . -user username

# 複数条件の組み合わせ(.logファイルで1MB以上)
find . -name "*.log" -size +1M

# 検索結果に対してコマンドを実行
find . -name "*.txt" -exec ls -l {} \;

lsコマンド(ディレクトリ内容表示)

# 詳細情報付きで表示
ls -l

# 隠しファイルも表示
ls -a

# サイズを人間が読みやすい形式で表示
ls -lh

# 更新時刻順でソート
ls -lt

# サイズ順でソート
ls -lS

# 再帰的に表示(サブディレクトリも)
ls -R

さいごに

フォルダやファイル検索は日常的に行う作業です。
特によく使うコマンドは、ショートカットを活用すると作業効率がさらにアップします。
他にもおすすめのコマンドがあれば教えてください。

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?