Rắc rối khi cố gắng sử dụng Windows Search để tìm kiếm tệp có dấu chấm hỏi trong nội dung


15

Có vẻ như Windows Search đang gặp sự cố khi tôi chỉ định một ký tự dấu hỏi là nội dung mà tôi đang tìm kiếm trong các tệp của mình.

Tôi đã thử:

  • Nội dung:?
  • Nội dung:"?"
  • Nội dung:"\?"
  • Nội dung:\?
  • nội dung:% 3f
  • nội dung: "% 3f"
  • nội dung: \ 3f
  • nội dung: "\ 3f"
  • nội dung: \ 00 \ 00 \ 00 \ 3F

Nhưng mỗi trong số này không mang lại kết quả khi tôi thực sự có tệp có chứa? trong phạm vi tìm kiếm. Thay vào đó, nếu tôi tìm kiếm một cái gì đó như nội dung: hạnh phúc thì nó thực sự sẽ tìm thấy tất cả các tệp có cụm từ "hạnh phúc" trong cùng các tệp đó.

Giả định của tôi là Windows Search đang coi một số ký tự như dấu hỏi là ký tự đặc biệt có khả năng cho mục đích biểu thức thẻ hoang dã. Để kiểm tra lý thuyết này, tôi cũng đã tìm kiếm các tệp có dấu hoa thị * và thực sự tôi có vấn đề tương tự như khi tìm kiếm nội dung của dấu hỏi. Điều tôi băn khoăn là liệu có cách nào để tìm kiếm hoạt động trong đó tôi có thể tìm kiếm một biểu thức nghĩa đen mà không cần bất kỳ loại ký tự đại diện nào hoặc ít nhất là một cách để thoát các ký tự đặc biệt trong biểu thức.

Nhân tiện, tôi đang sử dụng Windows 7 Enterprise.

Câu trả lời:


12

Hãy thử ~ =? Ở đâu ? là nhân vật bạn đang tìm kiếm.


4
Thông minh! nội dung: ~ =? làm đẹp! Vì tò mò, bạn lấy ý tưởng sử dụng ~ = làm chuỗi thoát ở đâu?
jpierson

Tôi đang cố gắng tìm kiếm "my_opes". Nó dường như đang coi dấu gạch dưới là dấu cách hoặc dấu phẩy hoặc thứ gì đó và hiển thị cho tôi mọi thứ có chứa "của tôi" hoặc "chuỗi" hoặc cả hai.
Shavais

Làm thế nào tôi có thể sử dụng điều này để tìm kiếm các tập tin trong một tập tin? Ví dụ:content:"reports.asp"
John Odom

Cú pháp tìm kiếm của Windows có rất nhiều ký tự đặc biệt, vì vậy bạn phải trích dẫn hầu hết các ký tự đó để tránh chúng bị hiểu. Xem msdn.microsoft.com/en-us/l Library / bb266512 (v = vs85) .aspx . Tuy nhiên, ? và *, được trích dẫn hay không, luôn được hiểu là thẻ hoang dã DOS. * cho tất cả các nhân vật ,? cho 1 char Nếu bạn nhấp vào Thanh địa chỉ của windows explorer, bạn sẽ thấy các cửa sổ chuyển đổi tìm kiếm thành cú pháp truy vấn thực. ? và * được hiểu là crumb = tên tệp% 3A ~?% 20OR% 20System.Generic.String% 3A? (tt) bên dưới
Mr_Moneybag

Điều này filename:~?có nghĩa là tìm kiếm dưới dạng ký tự đại diện DOS, tên tệp BẮT ĐẦU VỚI bất kỳ một ký tự nào (về cơ bản là mọi tệp!). OR System.Generic.String:?nghĩa là HOẶC bất kỳ thuộc tính / nội dung tệp nào có WORD SAU VỚI nghĩa đen? Lời khuyên của tôi, hãy đọc tài liệu AQS và nhấp vào Thanh địa chỉ để xem Windows Search diễn giải lại AQS thành gì. Cũng lưu ý, theo mặc định, thuộc tính tệp chuỗi (Tên tệp, tác giả, v.v.) Theo mặc định tìm kiếm với WORD_STARTSWITH $<, vì vậy bất kỳ từ nào bắt đầu bằng cụm từ tìm kiếm của bạn. Các thuộc tính không phải chuỗi khác (Ngày, v.v.) tìm kiếm với =
CỔNG

6

Có vẻ như Microsoft đã loại bỏ khả năng tìm kiếm chỉ các ký tự đặc biệt. Để tìm kiếm với các ký tự đặc biệt, cũng phải có một từ kèm theo nó ( Example: Who?). Một lần nữa, phải có một từ , không chỉ là một ký tự đại diện, với ký tự đặc biệt. Đó là bởi vì Windows Search bỏ qua các ký tự đặc biệt ngoại trừ các ký tự đại diện?. Theo trang này, mẹo Tìm kiếm và Thủ thuật tìm kiếm , các ký tự đại diện duy nhất có trong Windows Search là dấu hoa thị và dấu hỏi. Tuy nhiên, dường như cái duy nhất hoạt động là dấu hoa thị. Ngay cả khi thử ví dụ của nó s?n, được tìm thấy trên cùng một trang.

Dưới đây là trích dẫn từ một bài đăng trên Diễn đàn của Vista64: ( Nguồn )

Trên thực tế, vấn đề là một chút khác nhau. Tìm kiếm bây giờ dựa trên từ, không dựa trên ký tự . Chân đế được coi là dấu chấm câu bởi Tìm kiếm, không phải thẻ hoang dã. Để có kết quả có ý nghĩa, các truy vấn có dấu chấm câu cũng phải chứa các từ, cụm từ hoặc thẻ hoang dã . Ví dụ: Nếu tôi tìm kiếm trên này: [*]hoặc này: {*}tôi nhận được một loạt các tệp có một cụm từ trong tên tệp của họ trong ngoặc, giống như tôi mong đợi. Vì vậy, hãy thử xem.


1
Thật không may, tôi không nghĩ rằng lời giải thích của bạn là hoàn toàn chính xác. Khi tôi tìm kiếm nội dung: "sủa?" Tôi phù hợp với tài liệu có cả vỏ cây? và chỉ sủa trong họ. Vì vậy, có vẻ như dấu chấm câu chỉ đơn giản là bỏ qua.
jpierson

Thưa ngài, đúng rồi. Đó là những gì tôi đã nói. Từ câu trả lời của tôi: Đó là bởi vì Windows Search bỏ qua các ký tự đặc biệt ngoại trừ ký tự đại diện.
SgtOJ

1
... Tôi không chỉ điều chỉnh câu trả lời của mình cho vấn đề của bạn chỉ bằng dấu chấm hỏi. Thay vào đó, câu trả lời của tôi giải thích những gì đang diễn ra sẽ có tất cả các ký tự đặc biệt ngoại trừ ký tự đại diện - dấu hoa thị. Xin lưu ý, tôi không nói có một ký tự đại diện nhưng tôi đã thấy rằng chỉ có dấu hoa thị hoạt động như ký tự đại diện. Xin vui lòng cho tôi biết nếu bạn tìm thấy một câu trả lời khác để câu trả lời của tôi có thể được cập nhật.
SgtOJ

4

Trong Windows 7, tôi gặp vấn đề tương tự, chỉ cố gắng tìm kiếm các từ khóa được bao quanh bởi dấu ngoặc vuông ("[" cũng bị bỏ qua tương tự như "?", "(", "]", V.v.) trong tên tệp. đối với tôi là như sau:

tên tệp:"*[Cumbia]*" OR filename:"*[Reggae]*"

Điều này sẽ tìm thấy tất cả các bài hát của tôi mà tôi được gắn thẻ bằng chuỗi văn bản [Cumbia]hoặc [Reggae]trong tên tệp. Những gì tôi sẽ làm sau đó là chọn tất cả các tệp và sau đó nhấp chuột phải vào lựa chọn để gọi tính năng Sendto để gửi tất cả các bài hát đến chương trình trình phát nhạc của tôi (Winamp trong trường hợp này).


Thông minh. Sử dụng filenamethay vì sử dụng contentlàm việc cho tôi. Tôi đã cố gắng lọc các tệp trùng lặp có tệp (1) .jpg và tệp (2) .jpg và sử dụng biểu thức này filename: "*(1)*"filename: "*(2)*".
May mắn

2

Hãy thử content: ~="?"hoặc extension: ~="?"bất cứ nhân vật đặc biệt nào bạn đang tìm kiếm trong phần trích dẫn, v.v.


1

Tôi không sử dụng Windows Search, nhưng tôi tự hỏi liệu nó có hỗ trợ các ký tự thoát như được mô tả trong bài viết này của Microsoft không:

Sử dụng Giao thức tìm kiếm

Nếu có, bạn có thể thử sử dụng %3fcho dấu hỏi.


Tôi đã thử đề xuất của bạn và tìm kiếm% 3f, nội dung:% 3f và nội dung: "% 3f" nhưng không có kết quả. Tôi cũng đã thử kết hợp với thẻ hoang dã nhưng vẫn không gặp may. Cảm ơn cho dù sao đề nghị.
jpierson

1

Chỉ cần sử dụng powershell để tìm kiếm nội dung tập tin:

Get-ChildItem -recurse | Chọn-Chuỗi-mô hình "giả" | đường dẫn nhóm | chọn tên


Mặc dù không trả lời trực tiếp câu hỏi, nhưng điều này đã cho tôi chính xác những gì tôi cần thay thế, cảm ơn! Tôi cần phải học nhiều quyền hạn hơn.
Đánh dấu Adamson

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.