WindowsエクスプローラーのAQSで「毎年8月11日」に更新・作成されたファイルを検索する方法【PowerShell併用】

「毎年8月11日に更新(または作成)されたファイルだけを、Windowsエクスプローラーの検索ボックスでまとめて探したい」──バックアップの確認や記念日の写真整理などで、こう思ったことはないでしょうか。本記事では、AQS(Advanced Query Syntax)を使った現実的な検索方法と、さらに一歩踏み込んでPowerShellで「月日だけ一致」を実現するテクニックまで、実務目線で丁寧に解説します。

目次

Windowsエクスプローラーで「毎年8月11日」を探したいシーン

「毎年8月11日」というように、年月日ではなく月日だけでファイルを絞り込みたいケースは意外と多くあります。

  • 家族の誕生日(例:8月11日)の写真や動画だけを年をまたいで一覧表示したい
  • 毎年同じ日に実施している業務(棚卸、点検、バックアップなど)の記録ファイルを確認したい
  • 「この日に何をしていたか」を、過去数年分まとめて振り返りたい

エクスプローラーには検索ボックスがあり、そこに条件を入力すると、更新日時や作成日などで検索できます。この検索機能を高度に使うための仕組みが AQS(Advanced Query Syntax/詳細検索構文) です。

しかし残念ながら、標準のAQSだけでは「年を無視して月日だけで絞り込む」ことはできません。この記事では、その制約を踏まえたうえで、実際に使える現実解を紹介します。

結論:AQSだけで「年を無視した日付検索」はできない

先に結論をはっきりさせておきます。

  • WindowsエクスプローラーのAQSでは
    • 「年をワイルドカードにする」
    • 「8/11 だけ(年月日ではなく月日だけ)で検索する」
    といった指定はサポートされていません。
  • そのため、実現できるのは
    • 必要な年をすべて書き出して OR でつなぐ
    • あるいは、スクリプト言語(PowerShell)で「月日だけ一致」ロジックを書く
    という2つのアプローチになります。

純粋にエクスプローラーだけで完結させたいなら「各年を明示して検索する」方法が現実的な落としどころです。もう少し柔軟にツールを使えるのであれば、PowerShellで条件を組み立てると、欲しい結果をピンポイントで絞り込みできます。

AQSで年ごとに検索する:もっとも現実的な方法

まずは、Windowsエクスプローラーの検索ボックスから実行できる、年ごとの検索方法を詳しく見ていきます。ここで解説するのは、AQSの考え方に沿った「正攻法」です。

検索を始める前の準備

どの方法をとるにしても、まずは検索対象のフォルダーを決めます。

  1. エクスプローラーで、探したいフォルダー(例:ピクチャ、業務用の共有フォルダーなど)を開く。
  2. 右上の検索ボックスをクリックする。
  3. 検索ボックスがアクティブになると、上部に「検索」タブ(または検索関連のボタン)が表示されます。

ここで紹介するAQSは、この検索ボックスに直接入力する形で利用します。

更新日時で「8月11日」を検索する例

ファイルの最終更新日時を基準に検索する場合、AQSでは 更新日時:(英語UIでは modified:)を使います。日本語環境でも英語名が通ることが多いので、どちらも試すとよいでしょう。

1年分だけ検索する

例えば、「2023年8月11日に更新されたファイル」を探したい場合は、検索ボックスに次のように入力します。

更新日時:2023/08/11

英語UIに近い書き方であれば、次のように書くこともできます。

modified:8/11/2023

日付の書式(2023/08/11 か 8/11/2023 か)は、OSのロケール設定に依存します。普段カレンダーで表示されている形式に合わせて入力してください。

複数年をまとめて検索する

ここからが本題です。「2021〜2023年の 8月11日 に更新されたファイルをひとまとめに見たい」という場合は、各年を OR でつなぎます。

(更新日時:2023/08/11 OR 更新日時:2022/08/11 OR 更新日時:2021/08/11)

英語のプロパティ名を使うなら、次のように書けます。

(modified:8/11/2023 OR modified:8/11/2022 OR modified:8/11/2021)

ポイントは以下の3つです。

  • () で条件全体を囲む(グルーピング)
  • 各年ごとの条件を OR でつなぐ
  • スペースも構文の一部として扱われるので、コピペするときは消さない

必要な年が多い場合は、同じパターンをコピーして、年だけを書き換えていけばOKです。5〜10年分程度なら十分現実的に運用できます。

作成日時で検索したい場合

コピーや移動などの影響を受けにくく、「いつその場所に作られたか」を基準にしたい場合は、作成日時で検索します。

  • 日本語UI/日本語プロパティ名:作成日時:
  • 英語UI/英語プロパティ名:datecreated:

例:2021〜2023年の8月11日に作成されたファイルを検索する場合は、次のようになります。

(作成日時:2023/08/11 OR 作成日時:2022/08/11 OR 作成日時:2021/08/11)

英語名で書くなら以下です。

(datecreated:8/11/2023 OR datecreated:8/11/2022 OR datecreated:8/11/2021)

更新日時と作成日時の違いを整理

項目意味AQSプロパティ向いている用途
更新日時ファイルに最後に書き込みが行われた日時更新日時: / modified:最終編集日を基準にした検索(文書・Excel・プログラムなど)
作成日時その場所にファイルが作成・コピーされた日時作成日時: / datecreated:フォルダーへの取り込み日や保存日を基準にした検索
撮影日時写真や動画の撮影日時(EXIFなど)撮影日時: / datetaken:写真の撮影日ベースで「毎年同じ日」の写真を探す

写真の場合は、更新日時や作成日時よりも、撮影日時(datetaken)を使う方が意図に近いことが多い点に注意してください。

やってはいけない例:日付範囲で代用しようとする

よくある誤解として、次のような書き方があります。

更新日時:2022/08/11..2023/08/11

これは「2022/08/11〜2023/08/11までのすべての日付」が対象になり、毎年8/11だけを抽出しているわけではありません。条件としては

  • 2022/08/11
  • 2022/08/12
  • …
  • 2023/08/10
  • 2023/08/11

という、1年分丸ごとの期間指定になってしまいます。このように日付範囲指定は「特定の1日だけ」を表現できないので、今回の用途には使えません。

検索を使い回す:保存検索(.search-ms)を活用

毎回長いAQSを打ち込むのは面倒なので、エクスプローラーが持っている保存検索機能を活用するのがおすすめです。一度設定してしまえば、次回からはダブルクリックだけで同じ条件を再実行できます。

保存検索の手順

  1. 検索したいフォルダーを開き、検索ボックスにAQS条件を入力して結果を表示させる。
  2. 上部の「検索」タブ(または検索ツールのリボン)をクリックする。
  3. [保存検索] ボタンをクリックする。
  4. 保存場所と名前を指定して保存する(既定では 検索 フォルダー配下)。

保存された検索は、拡張子が .search-ms のファイルとして保存されます。あとはそのファイルをダブルクリックするだけで、毎年の「8/11だけ」を再検索できます。

さらに、タスクバーやスタートメニューにピン留めしたり、デスクトップショートカットとして配置しておけば、ほぼワンクリックで目的の検索結果にたどり着けます。

AQSミニチートシート:日付検索でよく使う構文

ここまでで「毎年8/11」を探す手順はひととおり説明しました。ここからは、応用を効かせたいときのために、AQSのよく使う構文を一覧で整理しておきます。

日付系プロパティの一覧

用途日本語プロパティ英語プロパティ例
更新日時更新日時:modified:更新日時:2023/08/11
作成日時作成日時:datecreated:datecreated:8/11/2023
撮影日時撮影日時:datetaken:撮影日時:2023/08/11

論理演算子・比較演算子

  • 論理演算子
    • AND:条件をすべて満たす(省略するとAND扱いになることも多い)
    • OR:どれか1つでも満たせばOK
    • ():グルーピング(複雑な条件をまとめる)
    例: (modified:2023/08/11 OR modified:2022/08/11) AND kind:=document
  • 比較演算子・範囲指定
    • >=:以上
    • <=:以下
    • ..:範囲
    例: modified:>=2025/01/01 modified:2025/01/01..2025/03/31

相対日付キーワード

毎年8/11という指定には直接使えませんが、「今年の8/11だけ」などをざっくり探したいときに便利な、英語の相対日付キーワードも覚えておくと役立ちます。日本語環境でも、相対日付キーワードは英語で入力するほうが安定して動作することが多いです。

  • modified:today(今日更新されたファイル)
  • modified:yesterday(昨日更新されたファイル)
  • modified:this week(今週更新されたファイル)
  • modified:last month(先月更新されたファイル)
  • modified:this year(今年更新されたファイル)

これらと kind: や ext: を組み合わせると、「今週編集したExcelだけ」のような日常的な検索も快適になります。

ファイル種類や拡張子と組み合わせる

「毎年8/11のファイル」といっても、写真・文書・メールアーカイブなど様々です。不要なファイルを省きたいときは、ファイルの種類(kind)や拡張子(ext)と組み合わせましょう。

  • 種類を指定:kind:=picture(画像)、kind:=document(文書)など
  • 拡張子を指定:ext:xlsx、ext:jpg など

例:2021〜2023年の8/11に更新されたExcelファイルだけを探したい場合は、

(modified:8/11/2023 OR modified:8/11/2022 OR modified:8/11/2021) AND ext:xlsx

といった形で指定できます。

PowerShellで「月日だけ一致」を完全に実現する

ここからは、エクスプローラーのAQSの制限を超えて、「年を完全に無視して、月日だけが一致するファイル」を抽出する方法を紹介します。必要なのは、Windowsに標準で入っているPowerShellだけです。

PowerShellでの基本スクリプト(更新日時ベース)

以下は、「指定フォルダー配下で、毎年8月11日に更新されたファイル」を探すサンプルです。

# 対象フォルダー配下で「毎年 8/11 に更新された」ファイルを一覧化
Get-ChildItem -Path "D:\対象フォルダー" -Recurse -File |
  Where-Object { $_.LastWriteTime.Month -eq 8 -and $_.LastWriteTime.Day -eq 11 } |
  Select-Object FullName, LastWriteTime

ポイント解説:

  • Get-ChildItem -Recurse -File:指定フォルダー配下のファイルをサブフォルダーも含めて取得
  • LastWriteTime:最終更新日時(更新日時)
  • Month と Day だけを比較することで、「年を完全無視」している
  • Select-Object で、必要な情報(フルパスと更新日時)のみ表示

このスクリプトを実行すると、「何年の8/11か」に関係なく、すべての年の8/11に更新されたファイルが一覧表示されます。まさに「年を無視した検索」が実現できます。

作成日時で判定したい場合

作成日時で判定したい場合は、先ほどのスクリプト中の LastWriteTime を CreationTime に置き換えるだけです。

Get-ChildItem -Path "D:\対象フォルダー" -Recurse -File |
  Where-Object { $_.CreationTime.Month -eq 8 -and $_.CreationTime.Day -eq 11 } |
  Select-Object FullName, CreationTime

写真の撮影日を基準にしたい場合は、EXIFから日付を取得する処理が別途必要になりますが、PowerShellのスクリプトを組み合わせることで同じような「月日だけ一致」のロジックを作ることも可能です。

検索結果をCSVに出力して分析する

PowerShellを使う利点は、検索結果をそのままCSVファイルやExcelで分析できる形式に落とせることです。

Get-ChildItem -Path "D:\対象フォルダー" -Recurse -File |
  Where-Object { $_.LastWriteTime.Month -eq 8 -and $_.LastWriteTime.Day -eq 11 } |
  Select-Object FullName, LastWriteTime |
  Export-Csv -Path "D:\every-aug11-files.csv" -NoTypeInformation -Encoding UTF8

このようにしておけば、

  • Excelで並べ替えやフィルターをかける
  • ピボットテーブルで年ごとの件数を集計する
  • バックアップ用に記録として保存しておく

といった高度な活用も簡単に行えます。

つまずきやすいポイントと対処法

ここでは、実際にAQS検索やPowerShell検索を試したときにつまずきやすいポイントを、原因と対策とともに整理しておきます。

「modified:08/11」だけではヒットしない

AQSでありがちな誤りが、

modified:08/11

といった、「年なし」の日付指定です。残念ながら、AQSの仕様上、部分だけの日時指定は解釈されません。必ず

  • 2023/08/11
  • 8/11/2023

のような、年を含んだ完全な日付を指定する必要があります。どうしても年を無視したい場合は、前述のとおりPowerShellなどスクリプト側で処理するのが唯一の方法になります。

日本語プロパティ名と英語プロパティ名の違い

Windowsのロケールやバージョンによっては、

  • 更新日時: は通るが、modified: が通らない
  • 逆に、modified: は通るが、更新日時: がうまく解釈されない

といった環境差が起きることがあります。うまくヒットしないときは、

  • 日本語名と英語名の両方を試してみる
  • スペースや全角/半角の違いが紛れ込んでいないか確認する

といった点をチェックしてみてください。

インデックスの状態に検索結果が左右される

Windowsの検索は、インデックスという仕組みで高速化されていますが、このインデックスの状態が悪いと、

  • 本来あるはずのファイルが検索結果に出てこない
  • 更新したばかりのファイルがしばらくヒットしない

といった現象が起きることがあります。

その場合は、コントロールパネルや設定アプリから「インデックスのオプション」を開き、

  • インデックス対象になっているフォルダーに問題がないか
  • インデックスの再構築が必要になっていないか

を確認することも検討してみてください。特にNASやネットワークドライブを扱う場合は、仕組み上インデックスが効きにくいこともあります。

時刻・タイムゾーンの影響に注意

日付だけでなく「時刻」も関係してくるケースでは、タイムゾーンやサマータイムの扱いによって、表示上の日時が微妙にずれることがあります。今回の「8月11日」レベルであればそこまでシビアになる必要はありませんが、

  • 深夜をまたぐ処理(バックアップやバッチ)
  • 海外とのファイルやりとり

が絡むシステムでは、ログファイルなどのタイムゾーンにも注意を払った方がよいでしょう。

実用シナリオ:こんな場面で「毎年8月11日検索」が役立つ

最後に、この記事で紹介したテクニックが具体的にどのような場面で役立つか、いくつかシナリオを挙げておきます。実際に自分の環境に当てはめてイメージしてみてください。

家族の記念日アルバムを作る

  • 写真フォルダー(例:D:\写真)を対象にする
  • 撮影日時: または datetaken: でAQS検索、あるいはPowerShellでEXIFの撮影日を参照
  • 毎年8/11の家族写真・動画だけを集め、スライドショーやフォトブックにする

年ごとに子どもの成長を並べて眺めると、かなりエモーショナルなアルバムになります。

毎年同じ日に行う業務の棚卸し

  • 棚卸し・点検・年次レビューなど、毎年同じ日に実施している業務フォルダーを対象にする
  • 更新日時: をベースにAQSで「8/11」をOR条件で全年度分まとめて検索
  • PowerShellを併用して一覧化し、Excelで「年ごとのファイル数」「ファイルサイズ合計」などを集計する

こうすることで、「過去何年ぶんの記録が残っているか」「最近急にファイル数が増えていないか」といった業務上の傾向も見えてきます。

ログやバックアップファイルのチェック

  • システムのログフォルダーやバックアップフォルダーを対象にする
  • 毎年8/11に起きたイベントや障害の有無を調べる
  • 特定の日にだけ発生する不具合や負荷の傾向がないかを確認する

日付で並べて眺めることで、単発のトラブルだと思っていたものが「毎年同じタイミングで起きている」ことに気づく、というケースもあります。

まとめ:AQSとPowerShellをうまく使い分ける

本記事で解説した内容を、最後に整理します。

  • WindowsエクスプローラーのAQSでは、年を無視して月日だけで検索することはできない
  • そのため、エクスプローラーだけで実現したい場合は
    • 各年を明示して OR でつなぐ(例:2023/08/11 OR 2022/08/11 …)
    • 作った検索条件は保存検索にして再利用する
  • より柔軟に、厳密に「毎年8/11」だけを抽出したい場合は
    • PowerShellで Month と Day を比較するロジックを書く
    • 必要に応じて、結果をCSVに出力してExcelで分析する
  • 写真の場合は、更新日時ではなく撮影日時を使う方が意図に近い結果が出やすい
  • 検索がうまくいかないときは、プロパティ名の言語差、インデックスの状態、日付の書式などを確認する

「毎年8月11日だけを検索する」という一見ニッチなニーズも、深掘りすると日付ベースでファイルを自在に操るための考え方につながります。AQSでできること・できないことを理解したうえで、PowerShellなどのツールと組み合わせれば、ファイルの整理や業務ログの分析が一段とやりやすくなるはずです。

ぜひ、自分の環境に合わせてAQSとPowerShellを組み合わせ、「探したいときにすぐ見つかるWindowsファイル検索環境」を育ててみてください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次