Kesulitan mencoba menggunakan Pencarian Windows untuk mencari file dengan tanda tanya di konten

15

Tampaknya Windows Search mengalami masalah ketika saya menentukan karakter tanda tanya sebagai konten yang saya cari dalam file saya.

Saya sudah mencoba:

  • konten :?
  • konten: "?"
  • konten: "\?"
  • konten: \?
  • konten:% 3f
  • konten: "% 3f"
  • konten: \ 3f
  • konten: "\ 3f"
  • konten: \ 00 \ 00 \ 00 \ 3F

tetapi masing-masing tidak menghasilkan hasil ketika saya memang memiliki file yang mengandung? dalam lingkup pencarian. Jika saya mencari sesuatu seperti konten: senang itu akan menemukan semua file dengan frasa "bahagia" di dalam file yang sama.

Asumsi saya adalah bahwa Pencarian Windows memperlakukan beberapa karakter seperti tanda tanya sebagai karakter khusus yang kemungkinan untuk tujuan ekspresi kartu liar. Untuk menguji teori ini, saya juga telah mencari file yang mengandung tanda bintang * dan memang saya memiliki masalah yang sama seperti ketika mencari konten tanda tanya. Yang saya bertanya-tanya adalah apakah ada cara untuk mendapatkan pencarian untuk bekerja di mana saya dapat mencari ekspresi literal tanpa jenis pencocokan wildcard atau setidaknya cara untuk menghindari karakter khusus dalam ekspresi.

Omong-omong saya menggunakan Windows 7 Enterprise.

jpierson
sumber

Jawaban:

12

Coba ~ =? dimana? adalah karakter yang Anda cari.

Ahli Monkerdermatologi
sumber
4
Luar biasa! konten: ~ =? bekerja mempercantik! Karena penasaran, dari mana Anda mendapatkan ide untuk menggunakan ~ = sebagai urutan pelarian?
jpierson
Saya mencoba mencari "my_string". Tampaknya memperlakukan garis bawah sebagai ruang atau koma atau sesuatu, dan menunjukkan kepada saya segala sesuatu yang mengandung "my" atau "string" atau keduanya.
Shavais
Bagaimana saya bisa menggunakan ini untuk mencari file di dalam file? Sebagai contoh:content:"reports.asp"
John Odom
Sintaks pencarian Windows memiliki banyak karakter khusus di dalamnya, jadi Anda harus mengutip sebagian besar dari mereka untuk menghindari mereka ditafsirkan. Lihat msdn.microsoft.com/en-us/library/bb266512(v=vs.85).aspx . Namun demikian,? dan *, dikutip atau tidak, selalu ditafsirkan sebagai kartu liar DOS. * untuk semua karakter,? untuk 1 char. Jika Anda mengklik pada Bilah Alamat windows explorer, Anda akan melihat windows mengonversi pencarian ke sintaks query sebenarnya. ? dan * ditafsirkan sebagai remah = nama file% 3A ~?% 20OR% 20 System.Generic.String% 3A? (
lanjt
Ini filename:~?berarti mencari sebagai wildcard DOS, nama file yang MULAI DENGAN satu karakter (pada dasarnya setiap file!). OR System.Generic.String:?berarti ATAU setiap properti file / konten yang memiliki KATA yang MULAI DENGAN harfiah? Saran saya, baca dokumentasi AQS, dan klik Bilah Alamat untuk melihat apa yang ditelusuri oleh Windows Search untuk AQS. Perhatikan juga, secara default, properti file string (Nama file, penulis, dll.) Secara default pencarian dengan WORD_STARTSWITH $<, jadi kata apa pun yang dimulai dengan istilah pencarian Anda. Properti non-string lainnya (Tanggal, dll.) Mencari dengan =
EQUAL
6

Sepertinya Microsoft telah menghapus kemampuan untuk mencari hanya karakter khusus. Untuk mencari dengan karakter khusus, harus ada kata yang disertakan ( Example: Who?). Sekali lagi, harus ada kata , bukan hanya wildcard, dengan karakter khusus. Itu karena Pencarian Windows mengabaikan karakter khusus dengan pengecualian wildcard ?. Per halaman ini menginduksi Search Tips dan Trik , satu-satunya wildcard yang tersedia di dalam Windows Search adalah tanda bintang dan tanda tanya. Namun, tampaknya satu-satunya yang berfungsi adalah tanda bintang. Bahkan ketika mencoba contohnya s?n,, ditemukan pada halaman halaman yang sama.

Berikut ini kutipan dari posting di Forum Vista64: ( Sumber )

Sebenarnya masalahnya sedikit berbeda. Pencarian sekarang berbasis kata, bukan berdasarkan karakter . Tanda kurung dianggap tanda baca oleh Pencarian, bukan kartu liar. Untuk mendapatkan hasil yang bermakna, kueri yang berisi tanda baca juga harus berisi kata, frasa, atau wild card . Sebagai contoh, Jika saya mencari ini: [*]atau ini: {*}Saya mendapatkan banyak file yang memiliki frase dalam nama file mereka dalam kurung, seperti yang saya harapkan. Jadi cobalah.

SgtOJ
sumber
1
Sayangnya saya tidak berpikir penjelasan Anda sepenuhnya akurat. Ketika saya mencari konten: "kulit kayu?" Saya cocok dengan dokumen yang memiliki kedua kulit? dan hanya menggonggong di dalam mereka. Jadi sepertinya tanda baca diabaikan begitu saja.
jpierson
Pak, benar. Itulah yang saya katakan. Dari jawaban saya: Itu karena Pencarian Windows mengabaikan karakter khusus dengan pengecualian wildcard.
SgtOJ
1
... Saya tidak hanya menyesuaikan jawaban saya untuk masalah Anda dengan hanya tanda tanya. Alih-alih jawaban saya menjelaskan apa yang sedang terjadi akan semua karakter khusus dengan pengecualian karakter wildcard - tanda bintang. Harap dicatat, saya tidak mengatakan ada satu wildcard tetapi saya telah menemukan bahwa hanya tanda bintang yang berfungsi sebagai wildcard. Harap beri tahu saya jika Anda menemukan yang lain sehingga jawaban saya dapat diperbarui.
SgtOJ
4

Di Windows 7 saya memiliki masalah yang sama, hanya saya mencoba mencari kata kunci yang dikelilingi oleh tanda kurung ("[" juga diabaikan mirip dengan "?", "(", "]", Dll.) Dalam nama file. Apa yang berhasil bagi saya adalah sebagai berikut:

nama file:"*[Cumbia]*" OR filename:"*[Reggae]*"

Ini akan menemukan semua lagu saya yang saya tandai dengan string teks [Cumbia]atau [Reggae]dalam nama file. Apa yang kemudian akan saya lakukan adalah memilih semua file dan kemudian klik kanan pada pilihan untuk memanggil fitur Sendto untuk mengirim semua lagu ke program pemutar musik saya (Winamp dalam kasus ini).

Scott Cedars
sumber
Luar biasa. Menggunakan filenamedaripada menggunakan contentbekerja untuk saya. Saya mencoba memfilter file duplikat yang memiliki file (1) .jpg dan file (2) .jpg dan menggunakan ungkapan ini filename: "*(1)*"dan filename: "*(2)*".
Lucky
2

Coba content: ~="?"atau extension: ~="?"atau karakter khusus apa pun yang Anda cari dalam kutipan, dll.

Chris Lottes
sumber
1

Saya tidak menggunakan Pencarian Windows, tapi saya ingin tahu apakah itu mendukung karakter melarikan diri seperti yang dijelaskan dalam artikel Microsoft ini:

Menggunakan Protokol pencarian

Jika ya, Anda dapat mencoba menggunakan %3funtuk tanda tanya.

harrymc
sumber
Saya mencoba saran Anda dan mencari% 3f, konten:% 3f, dan konten: "% 3f" tetapi tidak berhasil. Saya juga mencoba kombinasi dengan kartu liar tetapi tetap tidak berhasil. Terima kasih atas sarannya.
jpierson
1

Cukup gunakan PowerShell untuk mencari konten file:

Dapatkan-ChildItem -recurse | Select-String -pattern "dummy" | jalur grup | pilih nama

pengguna2257658
sumber
Meskipun tidak menjawab pertanyaan secara langsung, ini memberi saya apa yang saya butuhkan sebagai alternatif, terima kasih! Saya perlu belajar lebih banyak PowerShell.
Mark Adamson