Windows 7 mencari file dengan karakter khusus dalam nama file?


23

Saya mencoba mencari file di Windows 7 yang memiliki tanda kurung dalam nama file.

Namun, ketika saya mengetik (atau *(*atau "("atau *"("*saya tidak mendapatkan apa-apa atau setiap file.

Referensi Microsoft "sintaks kueri lanjutan" untuk pencarian desktop tidak menyebutkan apa pun tentang ini.

Apa yang menyebabkannya?


1
Lihat posting terkait saya tentang mencari? karakter karakter dalam konten file teks. Saya melihat masalah serupa. superuser.com/questions/168638/…
jpierson

Solusi mudah menggunakan Semuanya .
Michael S.

Jawaban:


24

Gunakan sintaks berikut: ~="(".

~=adalah karakter escape dan kemudian Anda dapat menempatkan karakter khusus seperti (, &, ?dll dalam tanda kutip ganda.


1
Tetapi bagaimana saya bisa mencari file yang mengandung ~ karakter (mis. File kunci kata '~ $ xyz.doc'?
Master of Celebration

2
Seperti ini:~="~$"
Frederic Leitenberger

1
Saya harus menghilangkan tanda kutip agar bisa bekerja dengan tanda titik.
sirdank

5

Mengerti!

Cukup ketik ini di kotak pencarian:

"*(*"

Ini bekerja untuk Anda dengan Windows 7? Bagi saya itu mengembalikan semua file (sama dengan "*$*", karena aku benar-benar mencari tanda-tanda dolar dalam nama file.) Apa yang melakukan pekerjaan untuk saya adalah ~="("(dengan tanda kutip untuk kurung) dan ~=$(tanpa tanda kutip untuk tanda dolar).
ashleedawg

3

Ayo Bantu!

Untuk masalah Windows Search, rekomendasi saya adalah dua hal:

  1. Baca dokumentasi AQS (Advanced Query Syntax) , sehingga Anda tahu apa yang dilakukan semua karakter khusus.
  2. Ketahuilah bahwa Pencarian Windows akan mengubah kueri Anda menjadi AQS yang tepat dan kecuali Anda spesifik dalam kueri Anda, Windows akan menebak AQS apa yang sebenarnya Anda maksudkan. Hasilnya bisa mengejutkan!

Pertama, beberapa dasar pada AQS

Secara default, properti file string (Nama file, penulis, dll.) Mencari COP_WORD_STARTSWITH $<, sehingga setiap kata (dipisahkan oleh spaces , - _ () []dan banyak lagi) yang dimulai dengan istilah pencarian Anda. Properti non-string lainnya (Tanggal, dll.) Mencari dengan COP_EQUAL =, atau persis cocok secara default (Tidak ada kartu liar, *dan ?literal).

Kedua, jika Anda sedang mencari di setiap lokasi diindeks, maka semua lokasi non-diindeks dalam permintaan Anda tidak akan ditampilkan.

Ketiga, Klik pada Bilah Alamat untuk melihat apa yang sebenarnya dicari dengan Pencarian Windows AQS. Anda dapat mengabaikan remah lokasi dan nama tampilan: Ini akan dikodekan persen, jadi decode di situs seperti https://www.url-encode-decode.com/

Keempat, tidak berdokumen, *dan ?berperilaku tidak terduga di AQS kecuali mereka berada dalam ~ COP_DOSWILDCARDSkueri (artinya non-kata dimulai dengan, dan wild card *atau ?ditafsirkan). Pencarian Windows biasanya akan mengkonversi pencarian menjadi ~query. Sebagai contoh, tampaknya kartu liar **dan ?dengan karakter alfanumerik mencari properti string dengan ~, tetapi **tanpa alfanumerik tidak mencari apa-apa. Single *di non ~queries diperlakukan sebagai wildcard dengan COP_WORD_STARTSWITH $<.

Mari Menganalisis pertanyaan Anda

  1. (AQS search-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\UsersSederhanacrumb=

    Yah, tanda kutip (adalah operator pengelompokan ketika Anda menggunakan ANDatau OR, Anda tidak mengelompokkan apa pun, jadi Windows mengira maksud Anda adalah grup yang tidak mencari semuanya.

  2. *(* AQS crumb=

    Sebagian besar pencarian windows yang dimulai dengan *windows mencoba untuk mengkonversi ke crumb=~~query_term(pencarian yang mengandung). *diperlakukan seperti biasa dalam kueri berisi. Ngomong-ngomong, dalam hal ini Anda wild card sekelompok tidak ada, jadi Windows mencari semua kelompok yang tidak ada (atau semuanya!)

  3. "(" AQS crumb=System.Generic.String:"("

    Kutipan mencari frasa yang tepat (seluruh kata atau properti harus cocok) dan merupakan karakter literal kecuali untuk *, ?dan ""menjadi ". Ini mencari kata-kata yang dimulai dengan (, tetapi karena kata-kata bukan (hanya mencari properti yang adil(

  4. *"("*AQS crumb=Rating:(>=1 <13) OR System.Generic.String:** System.Generic.String:"("* Yang ini gila, tetapi Windows Search mencoba mengonversi awalan *diikuti oleh karakter khusus tertentu sebagai peringkat bintang. 1-13 adalah 1 bintang. Catat juga dari pengujian saya, **tanpa karakter alfanumerik sebelum atau sesudahnya tidak mencari apa pun selain kartu liar dan tidak dapat diprediksi.

    Query lengkap ini berarti

    (Peringkat 1 bintang ATAU Kata yang dimulai dengan nol) DAN properti yang adil (. *tidak akan cocok dengan karakter lain karena seluruh properti harus (.

    Sederhana artinya, 1 bintang memanggil file (

    **dalam permintaan sebenarnya menunjukkan file non-satu bintang (untuk saya, tetapi ketika mengubah **ke ***dan kembali ke **sana memberi hasil yang diharapkan ( **tidak dapat diprediksi)

Jawaban lainnya

  1. ~="(" AQS crumb=System.Generic.String:~="("

    Ini tidak berhasil, windows sepertinya tidak menemukan apa-apa jika jumlah pencarian terlalu intensif. filename:~="("tidak bekerja. Pada dasarnya menemukan nama file yang hanya berisi suatu (tempat

  2. "*(*"AQS crumb=filename:~~"*(*" OR System.Generic.String:"*(*" Ini berhasil. Nama file berisi *(*dengan kartu liar ATAU kata properti apa pun yang dimulai dengan kartu liar dan memiliki a (. Catatan, keduanya ~=dan ~~mean mengandung.


0

Ini bekerja dengan sempurna untuk menemukan 'bernomor' / duplikat file :

   name:~"*(1)*"

secara bergantian , untuk menemukan FOLDER bernomor / duplikat gunakan:

   kind:folder name:~"*(1)*"


~="(" seperti yang disarankan dalam jawaban lain tidak berfungsi untuk saya di Windows 10

Dalam kasus saya, saya perlu menemukan FILE COPIES / "file bernomor", yaitu menemukan file dengan "(1)" ditambahkan ke akhir nama file, misalnya file yang dibuat ketika / oleh:

  1. Anda seret / explorer menyalin file ke folder, di mana file dengan nama file yang sama sudah ada.
  2. perangkat lunak penyimpanan sinkronisasi awan, seperti OneDrive, GoogleDrive, atau DropBox menghadapi masalah sinkronisasi atau konflik dan membuat 2 salinan file, menamai satu dengan nomor "duplikat file" yang ditambahkan, "file duplikat (1)", "file duplikat (2) ) ", dll ...

Ini tidak menjawab pertanyaan (setidaknya tidak secara langsung).
Máté Juhász

@ MátéJuhász apakah Anda benar-benar menurunkan saya? Betulkah? apakah menggunakan saran saya tanpa angka "1" tidak berfungsi untuk Anda? terima kasih
Flak DiNenno

Ini sebenarnya bekerja untuk saya. Menggunakan di filename:~"*TEXT*"mana TEXT adalah input yang tepat dengan karakter khusus. Jawaban teratas tidak berhasil, saya tidak bisa membuatnya bekerja dengan atau tanpa tanda kutip, dengan atau tanpa tanda bintang.
Liggliluff

Ingin memberi +1 pada ini? 😉
Flak DiNenno

0

Gunakan ungkapan ini untuk mencari dengan nama file,

filename: "*(1)*"


-1

~ "* (?). *" untuk duplikat tidak melebihi (9), cukup tambahkan yang lain? untuk 2 digit. Tapi hati-hati menggunakan * bukan? Ini memperluas pencarian secara signifikan dan hasilnya mungkin tidak lagi diinginkan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.