ปัญหาในการพยายามใช้ Windows Search เพื่อค้นหาไฟล์ที่มีเครื่องหมายคำถามในเนื้อหา


15

ดูเหมือนว่า Windows Search กำลังมีปัญหาเมื่อฉันระบุอักขระเครื่องหมายคำถามเป็นเนื้อหาที่ฉันค้นหาภายในไฟล์ของฉัน

ฉันได้พยายาม:

  • เนื้อหา:?
  • เนื้อหา:"?"
  • เนื้อหา:"\?"
  • เนื้อหา:\?
  • เนื้อหา:% 3F
  • เนื้อหา: "% 3F"
  • เนื้อหา: \ 3f
  • เนื้อหา: "\ 3f"
  • เนื้อหา: \ 00 \ 00 \ 00 \ 3F

แต่แต่ละผลลัพธ์เหล่านี้ไม่มีผลลัพธ์เมื่อฉันมีไฟล์ที่แน่นอน ภายในขอบเขตของการค้นหา ถ้าฉันค้นหาบางสิ่งเช่นเนื้อหา: ความสุขมันจะค้นหาไฟล์ทั้งหมดด้วยวลี "ความสุข" ภายในไฟล์เดียวกัน

ข้อสันนิษฐานของฉันคือ Windows Search กำลังรักษาตัวละครบางตัวเช่นเครื่องหมายคำถามเป็นอักขระพิเศษที่น่าจะเป็นไปตามวัตถุประสงค์ของการแสดงออกของไวด์การ์ด เพื่อทดสอบทฤษฎีนี้ฉันยังค้นหาไฟล์ที่มีเครื่องหมายดอกจัน * และฉันมีปัญหาเช่นเดียวกับเมื่อค้นหาเนื้อหาของเครื่องหมายคำถาม สิ่งที่ฉันสงสัยคือว่ามีวิธีใดบ้างที่จะได้รับการค้นหาให้ทำงานที่ฉันสามารถค้นหาการแสดงออกที่แท้จริงโดยไม่มีการจับคู่สัญลักษณ์การค้นหาหรืออย่างน้อยก็มีวิธีที่จะหลีกเลี่ยงอักขระพิเศษในนิพจน์ได้

โดยวิธีที่ฉันใช้ Windows 7 Enterprise

คำตอบ:


12

ลอง ~ =? ที่ไหน เป็นตัวละครที่คุณกำลังค้นหา


4
ยอดเยี่ยม เนื้อหา: ~ =? ทำงานสวยงาม! คุณอยากได้ความคิดในการใช้ ~ = เป็นลำดับการหลบหนีที่ไหน
jpierson

ฉันพยายามค้นหา "my_string" ดูเหมือนว่าจะรักษาขีดเส้นใต้เป็นช่องว่างหรือเครื่องหมายจุลภาคหรือบางสิ่งบางอย่างและแสดงให้ฉันทุกอย่างที่มีทั้ง "ของฉัน" หรือ "สตริง" หรือทั้งสองอย่าง
Shavais

ฉันจะใช้สิ่งนี้เพื่อค้นหาไฟล์ภายในไฟล์ได้อย่างไร ตัวอย่างเช่น:content:"reports.asp"
John Odom

ไวยากรณ์การค้นหาของ Windows มีอักขระพิเศษอยู่จำนวนมากดังนั้นคุณต้องอ้างอิงส่วนใหญ่เพื่อหลีกเลี่ยงการตีความ ดูmsdn.microsoft.com/en-us/library/bb266512(v=vs.85).aspx อย่างไรก็ตาม และ *, ที่ยกมาหรือไม่, ถูกตีความเสมอว่าเป็นการ์ดเสริม DOS * สำหรับตัวละครทุกตัว? สำหรับ 1 ถ่าน หากคุณคลิกที่แถบที่อยู่ของ windows explorer คุณจะเห็นหน้าต่างแปลงการค้นหาเป็นไวยากรณ์แบบสอบถามจริง ? และ * ถูกตีความว่าเป็นเศษเล็กเศษน้อย = ชื่อไฟล์% 3A ~?% 20OR% 20System.Generic.String% 3A? (ต่อ) ด้านล่าง
Mr_Moneybags

ซึ่งfilename:~?หมายถึงการค้นหาเป็นดอคตัวแทน DOS ชื่อไฟล์ที่เริ่มต้นด้วยอักขระตัวใดตัวหนึ่ง (โดยพื้นฐานแล้วทุกไฟล์!) OR System.Generic.String:?หมายถึงหรือทรัพย์สินใด ๆ ไฟล์ / เนื้อหาที่มีคำว่าเริ่มด้วยตัวอักษร? คำแนะนำของฉันอ่านเอกสาร AQS แล้วคลิกแถบที่อยู่เพื่อดูว่า Windows Search แปลความหมายของ AQS เป็นอย่างไร นอกจากนี้โปรดสังเกตว่าโดยค่าเริ่มต้นคุณสมบัติของไฟล์สตริง (ชื่อไฟล์ผู้แต่ง ฯลฯ ) โดยการค้นหาเริ่มต้นด้วย WORD_STARTSWITH $<ดังนั้นคำใด ๆ ที่ขึ้นต้นด้วยคำค้นหาของคุณ การค้นหาคุณสมบัติอื่นที่ไม่ใช่สตริง (วันที่ ฯลฯ ) ค้นหาด้วย=
EQUAL

6

ดูเหมือนว่าไมโครซอฟท์ได้นำความสามารถในการค้นหาเพียงสำหรับตัวอักษรพิเศษ ในการค้นหาด้วยอักขระพิเศษต้องมีคำที่รวมอยู่ด้วย ( Example: Who?) อีกครั้งจะต้องมีคำไม่ใช่แค่สัญลักษณ์แทนด้วยอักขระพิเศษ นั่นเป็นเพราะการค้นหาของ Windows ละเว้นอักขระพิเศษยกเว้นอักขระตัวแทนหรือไม่ ในหน้านี้เคล็ดลับและเคล็ดลับการค้นหา indowsเฉพาะสัญลักษณ์ตัวแทนที่มีอยู่ใน Windows Search คือเครื่องหมายดอกจันและเครื่องหมายคำถาม อย่างไรก็ตามดูเหมือนว่าสิ่งเดียวที่ใช้ได้คือดอกจัน แม้ในขณะที่ลองตัวอย่างของมันs?nพบในหน้าหน้าเดียวกัน

นี่คือคำพูดจากโพสต์ในฟอรัมของ Vista64: ( ที่มา )

จริงๆแล้วปัญหานั้นแตกต่างกันเล็กน้อย ค้นหาเป็นตอนนี้คำที่ใช้ไม่ได้ตัวอักษรตาม เครื่องหมายวงเล็บถือว่าเป็นเครื่องหมายวรรคตอนโดยการค้นหาไม่ใช่แบบไวด์การ์ด เพื่อให้ได้ผลลัพธ์ที่มีความหมายคำสั่งที่มีเครื่องหมายวรรคตอนยังต้องมีคำวลีหรือป่าการ์ด ตัวอย่างเช่นหากฉันค้นหาสิ่งนี้: [*]หรือสิ่งนี้: {*}ฉันได้รับไฟล์จำนวนมากที่มีวลีในชื่อไฟล์ของพวกเขาอยู่ในวงเล็บเช่นเดียวกับที่ฉันคาดไว้ ดังนั้นลองทำดู


1
น่าเสียดายที่ฉันไม่คิดว่าคำอธิบายของคุณถูกต้องทั้งหมด เมื่อฉันค้นหาเนื้อหา: "bark?" ฉันตรงกับเอกสารที่มีเปลือกทั้งสองเหรอ? และเพียงแค่เห่าภายในพวกเขา ดังนั้นดูเหมือนว่าเครื่องหมายวรรคตอนจะถูกละเว้นเพียงธรรมดา
jpierson

ท่านครับ นั่นคือสิ่งที่ฉันพูด จากคำตอบของฉัน: นั่นเป็นเพราะ Windows Search ละเว้นอักขระพิเศษยกเว้น wildcard
SgtOJ

1
... ฉันไม่เพียง แต่ปรับแต่งคำตอบของปัญหาของคุณด้วยเครื่องหมายคำถาม คำตอบของฉันจะอธิบายสิ่งที่เกิดขึ้นอักขระพิเศษทั้งหมดยกเว้นอักขระตัวแทน - เครื่องหมายดอกจัน โปรดทราบว่าฉันไม่ได้กำลังพูดว่ามีไวด์การ์ดหนึ่งอัน แต่ฉันพบว่ามีเพียงเครื่องหมายดอกจันเท่านั้นที่ใช้เป็นไวด์การ์ด โปรดทิ้งฉันไว้ถ้าคุณเจอคนอื่นเพื่อให้คำตอบของฉันสามารถอัปเดตได้
SgtOJ

4

ใน Windows 7 ฉันมีปัญหาที่คล้ายกันเพียงฉันพยายามค้นหาคำหลักที่ล้อมรอบด้วยเครื่องหมายวงเล็บเหลี่ยม ("[" ก็ถูกละเว้นเช่น "?", "(", "]" ฯลฯ ) ภายในชื่อไฟล์อะไรทำงาน สำหรับฉันมีดังต่อไปนี้:

ชื่อไฟล์:"*[Cumbia]*" OR filename:"*[Reggae]*"

นี่จะค้นหาเพลงทั้งหมดของฉันที่ฉันติดแท็กด้วยสตริงข้อความ[Cumbia]หรือ[Reggae]ภายในชื่อไฟล์ สิ่งที่ฉันจะทำคือเลือกไฟล์ทั้งหมดแล้วคลิกขวาที่ตัวเลือกเพื่อเรียกใช้คุณสมบัติ Sendto เพื่อส่งเพลงทั้งหมดไปยังโปรแกรมเครื่องเล่นเพลงของฉัน (Winamp ในกรณีนี้)


ยอดเยี่ยม ใช้filenameแทนการใช้contentงานได้สำหรับฉัน ผมพยายามที่จะกรองไฟล์ที่ซ้ำกันมีไฟล์ (1) .jpg และไฟล์ (2) .jpg และใช้สำนวนนี้และfilename: "*(1)*" filename: "*(2)*"
โชคดี

2

ลองcontent: ~="?"หรือextension: ~="?"หรือตัวละครพิเศษที่คุณกำลังมองหาในใบเสนอราคา ฯลฯ


1

ฉันไม่ได้ใช้การค้นหาของ Windows แต่ฉันสงสัยว่ามันรองรับตัวอักษรยกเว้นตามที่อธิบายไว้ในบทความ Microsoft นี้:

ใช้โปรโตคอลการค้นหา

หากเป็นเช่นนั้นคุณอาจลองใช้%3fเพื่อทำเครื่องหมายคำถาม


ฉันลองใช้คำแนะนำของคุณและค้นหา% 3f, เนื้อหา:% 3f และเนื้อหา: "% 3f" แต่ไม่มีประโยชน์ ฉันยังลองรวมกับไพ่เสริม แต่ก็ยังไม่มีโชค ขอบคุณสำหรับคำแนะนำต่อไป
jpierson

1

เพียงใช้ PowerShell เพื่อค้นหาเนื้อหาไฟล์:

รับ ChildItem -recurse | เลือกสตริง - รูปแบบ "dummy" | เส้นทางกลุ่ม เลือกชื่อ


ในขณะที่ไม่ตอบคำถามโดยตรงสิ่งนี้ให้สิ่งที่ฉันต้องการเป็นทางเลือกขอบคุณ! ฉันต้องการเรียนรู้เพิ่มเติม powerhell
Mark Adamson

-1

ฉันได้พบเพียงไม่กี่แหล่งข้อมูลเกี่ยวกับไวยากรณ์การค้นหาดังนั้นฉันจะเริ่มรายการพวกเขาที่นี่ด้วยความหวังว่าจะได้พบแหล่งข้อมูลที่อาจมีวิธีแก้ปัญหาหรือวิธีแก้ปัญหาอย่างน้อยสำหรับปัญหาของฉัน

ค้นหา Windows: เคล็ดลับและเทคนิค

ค้นหา Windows: ตัวเลือกการค้นหาขั้นสูง

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