Windows検索を使用して相対日付以降のファイルを検索する


8

相対日付を含む検索を保存する方法を探しています。具体的には、変更日が7日前のファイルに一致する検索を保存する方法を探しています。

Windows Search Advanced Query Syntaxドキュメントを読みましたが、7日前に言う方法がわかりません。

番号および範囲セクションでは、相対的な日付が可能であることを言及しません。問題は、そこに記述されている相対日付が、必要な基準に適合しないことです。lastweekは、ほとんど私は私のようなクエリを実行する場合を除いて何をしたいように見えるafter:lastweek月曜日にそれが唯一の12時日曜日以降に変更された私のファイルが表示されます。先週/先月は、私が必要としているものではない週/月の開始に関連しているようです。

マルチワードの相対日付:週、来月、先週、先月、または来年。値は、次のように短縮して入力することもできます:今週、来月、先週、過去1か月、来年。

保存された検索の良い点の1つは、検索がXMLドキュメントとして保存され、ファイル形式が文書化されていることです。日時の正しい値を形成する方法がわかりません。このフォーマットを理解できた場合、テキストエディタを使用して、希望どおりの保存された検索を作成できると思います。

からの抜粋

<conditions>
  <condition type="leafCondition" valuetype="System.StructuredQueryType.DateTime"
             property="System.DateModified" operator="imp" 
             value="R00UUUUUUUUZZXD-30NU" propertyType="wstr" />
</conditions>

要約すると、私はこれらの質問の1つまたは両方に対する答えを探しています

  • 標準の構文を使用して「7日前」のクエリを作成するにはどうすればよいですか?
  • 保存された検索にDateTimeはどのように保存されますか?

回答:


7

質問の最初の部分について:R00UUUUUUUUZZXD-30NU過去30日間を検索するようにWindowsに指示します。30を1に変更すると(つまり、R00UUUUUUUUZZXD-1NU、過去24時間の検索になります。

あなたの場合、値をに設定しようとしていますR00UUUUUUUUZZXD-7NU。このフォーラムの投稿を参照してください。🕗

質問の2番目の部分については、おそらくSystem.DateModifiedドキュメントを調べることから始めます。言及されている他のタイプSystem.StructuredQueryType.DateTime、私はドキュメントを見つけることができません。

更新:

私はこの宝石howを見つけました。これにより、相対DateTime値を構築する方法を解読することに近づきます。この引用を考えてみましょう:

たとえば、構造化クエリは、相対的な日付/時刻式をサポートしています。これらの式は、参照時間に適用されるまで解決されません。セマンティックタイプがSystem.StructuredQueryType.DateTimeのリーフノードでは、値はVT_FILETIMEまたはVT_LPWSTRのいずれかになります。VT_FILETIMEは絶対的な日付/時刻であるため、すでに解決されています。VT_LPWSTRは、相対的な日付/時刻式の文字列表現です。指定する参照時間は現地時間である必要がありますが、結果のクエリ式で解決される時間は協定世界時(UTC)になります。

そして最後に、このフォーラムの投稿に は、何DateTimeが格納されているかの別の例があります。

私がそれを知ることができる最高のものは、相対的な日付/時刻形式です。私はまだそれに関するハードドキュメントを見つけることができません。


+1。「R00UUUUUUUUUZZXD-30NU」の意味を掘り起こす素敵な仕事。
Peter Mortensen

1

今日の日付を取り、7日を差し引き、その結果に基づいて検索を実行するスクリプト(PowerShellまたはBatch)を記述するだけです。そうすれば、検索を保存する必要はなく、スクリプトを実行するだけです。


私は同意しますが、これは可能な回避策です。これは本当に私が探している解決策ではありません。さらに、誰かが日時値の構造を知っている必要があります。
Zoredache 2010年

0

プログラムで再作成するサンプル検索ファイルを作成しました。指定したフォルダーで、過去2週間に変更されたビデオファイルを検索しました( "datemodified:3/17 / 2017..4 / 1/2017")。

これは私に次のようなものでいっぱいの.search-msファイルを与えました:

<condition type="leafCondition" property="System.DateModified" operator="imp" propertyType="stringarray" value="N00K2017K3K17UUUUUZZNNU; N00K2017K4K1UUUUUZZNNU" valuetype="System.StructuredQueryType.DateTime" localeName="en-US">

ここの鍵は

value = "N00K 2017 K 3 K 17 UUUUUZZNNU; N00K 2017 K 4 K 1 UUUUUZZNNU"

日付がわかりやすく書かれ、先頭にK. N00、K、年のようになっていることがわかります。

N00 K[year]K[month]K[day]UUUUUZZNNU

単純なコンソールアプリケーションを作成して、過去2週間以内の特定の日付で検索ファイルを生成し、自分の目的のために毎日午前0時に実行するようにWindowsタスクスケジューラを設定しました。きっと同じことができると思います。

回避策の方法は、検索ファイルを生成できる方法に代わるものではないことに同意します。.search-msファイルをフォルダーとして扱うことができ、タスクバーのツールバーフォルダーとして含めることさえできることは、人々が知らないかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.