ค้นหาไฟล์หลังจากวันที่สัมพันธ์กันโดยใช้การค้นหาของ Windows


8

ฉันกำลังมองหาวิธีบันทึกการค้นหาที่มีวันที่สัมพันธ์กัน โดยเฉพาะฉันกำลังมองหาวิธีที่จะบันทึกการค้นหาที่ตรงกับไฟล์ที่มีวันที่แก้ไขที่อยู่ที่7 วันที่ผ่านมา

ฉันอ่านเอกสารไวยากรณ์การค้นหาขั้นสูงของWindows Searchแล้วและฉันไม่เห็นวิธีที่จะพูด 7 วันที่ผ่านมา

ส่วนตัวเลขและช่วงไม่พูดถึงว่าเป็นไปได้วันที่ญาติ ปัญหาคือวันที่สัมพัทธ์ที่อธิบายไว้ไม่ตรงกับเกณฑ์ที่ฉันต้องการ lastweekเกือบจะดูเหมือนสิ่งที่ฉันต้องการยกเว้นถ้าฉันเรียกใช้แบบสอบถามเหมือนafter:lastweekในวันจันทร์ก็จะแสดงไฟล์ของฉันที่ได้รับการแก้ไขเมื่อวันอาทิตย์เวลา 12:00 สัปดาห์ที่แล้ว / เดือนที่แล้วดูเหมือนจะสัมพันธ์กับการเริ่มต้นสัปดาห์ / เดือนซึ่งไม่ใช่สิ่งที่ฉันต้องการ

วันที่ที่มีหลายคำ: สัปดาห์, เดือนถัดไป, สัปดาห์ที่แล้ว, เดือนที่ผ่านมาหรือปีที่กำลังจะมาถึง ค่ายังสามารถป้อนสัญญาเช่นนี้สัปดาห์หน้า, เดือนถัดไป, สัปดาห์, เดือนผ่าน, ปีมา

สิ่งหนึ่งที่ดีเกี่ยวกับการค้นหาที่บันทึกไว้คือว่าพวกเขาจะถูกเก็บไว้เป็นเอกสาร XML และรูปแบบไฟล์เอกสาร ฉันไม่เห็นวิธีการตั้งค่าที่ถูกต้องสำหรับวันที่และเวลา หากฉันสามารถเข้าใจรูปแบบนี้ฉันสงสัยว่าฉันสามารถใช้โปรแกรมแก้ไขข้อความและสร้างการค้นหาที่บันทึกไว้ซึ่งเป็นสิ่งที่ฉันต้องการ

ส่วนจากตัวอย่าง :

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

เพื่อสรุปฉันกำลังมองหาคำตอบสำหรับหนึ่งหรือทั้งสองคำถามเหล่านี้

  • ฉันจะค้นหา '7 วันที่ผ่านมา' โดยใช้ไวยากรณ์มาตรฐานได้อย่างไร
  • DateTime เก็บไว้ในการค้นหาที่บันทึกอย่างไร

คำตอบ:


7

สำหรับคำถามแรกของคุณ: R00UUUUUUUUZZXD-30NUบอกให้ Windows ค้นหา 30 วันล่าสุด การเปลี่ยน 30 เป็น 1 (เช่นR00UUUUUUUUZZXD-1NU)จะทำให้การค้นหาใน 24 ชั่วโมงที่ผ่านมา

R00UUUUUUUUZZXD-7NUในกรณีของคุณคุณกำลังมองหาการตั้งค่า อ้างอิงโพสต์ฟอรัมนี้ 🕗

สำหรับส่วนที่สองของคำถามของคุณอาจเริ่มจากการดูSystem.DateModifiedเอกสารประกอบ ประเภทอื่น ๆ ที่กล่าวถึงSystem.StructuredQueryType.DateTimeฉันไม่สามารถหาเอกสารได้

ปรับปรุง:

ฉันพบนี้อัญมณี🕗ที่ได้รับเราใกล้ชิดกับการถอดรหัสวิธีการสร้างเทียบDateTimeค่า พิจารณาคำพูดนี้:

ตัวอย่างเช่นคิวรีที่มีโครงสร้างรองรับนิพจน์วันที่ / เวลาสัมพัทธ์ซึ่งยังคงไม่ได้รับการแก้ไขจนกว่าจะถูกนำไปใช้กับเวลาอ้างอิงบางส่วน ในโหนดลีฟที่มีประเภทความหมาย System.StructuredQueryType.DateTime ค่าสามารถเป็น VT_FILETIME หรือ VT_LPWSTR VT_FILETIME เป็นวันที่ / เวลาที่แน่นอนดังนั้นจึงได้รับการแก้ไขแล้ว VT_LPWSTR เป็นการแสดงสตริงของนิพจน์วันที่ / เวลาสัมพัทธ์ เวลาอ้างอิงที่ระบุควรเป็นเวลาท้องถิ่น แต่เวลาที่แก้ไขในนิพจน์แบบสอบถามที่เป็นผลลัพธ์จะอยู่ในรูปแบบเวลามาตรฐานสากล (UTC)

และในที่สุดการโพสต์ฟอรั่มนี้ มีอีกตัวอย่างหนึ่งของสิ่งที่DateTimeถูกเก็บไว้

ที่ดีที่สุดที่ฉันสามารถบอกได้คือรูปแบบวันที่ / เวลาสัมพัทธ์ ฉันยังคงไม่สามารถค้นหาเอกสารที่ยากได้


+1 งานที่ดีขุดความหมายของ "R00UUUUUUUUUZZXD-30NU"
Peter Mortensen

1

เพียงเขียนสคริปต์ (PowerShell หรือ Batch) ที่ใช้วันที่วันนี้ลบ 7 วันและดำเนินการค้นหาตามผลลัพธ์ ด้วยวิธีนี้คุณจะไม่ต้องบันทึกการค้นหาเพียงแค่เรียกใช้สคริปต์


ในขณะที่ฉันเห็นด้วยนี้เป็นไปได้แก้ไข นี่ไม่ใช่ทางออกที่ฉันกำลังมองหา นอกจากนี้บางคนควรรู้ว่าโครงสร้างวันที่และเวลานั้นมีโครงสร้างอย่างไร
Zoredache

0

ฉันสร้างไฟล์ค้นหาตัวอย่างเพื่อสร้างโปรแกรมใหม่ ฉันค้นหาไฟล์วิดีโอในโฟลเดอร์ที่ระบุแก้ไขใน 2 สัปดาห์ที่ผ่านมา ("วันที่: 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 สัปดาห์ที่ผ่านมาและตั้งค่า Windows Task Scheduler ให้ทำงานทุกวันเวลาเที่ยงคืนเพื่อจุดประสงค์ของฉันเอง ฉันแน่ใจว่าคุณสามารถทำเช่นเดียวกัน

ฉันยอมรับวิธีการหลีกเลี่ยงปัญหาแทนการไม่สามารถสร้างไฟล์การค้นหาได้ สิ่งหนึ่งที่ผู้คนอาจไม่ทราบคือคุณสามารถจัดการไฟล์. search-ms เป็นโฟลเดอร์ได้แม้จะไปรวมไฟล์เหล่านั้นเป็นโฟลเดอร์แถบเครื่องมือบนทาสก์บาร์ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.