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?
windows-7
windows
windows-explorer
search
windows-search
Matias Nino
sumber
sumber
Jawaban:
Gunakan sintaks berikut:
~="("
.~=
adalah karakter escape dan kemudian Anda dapat menempatkan karakter khusus seperti(
,&
,?
dll dalam tanda kutip ganda.sumber
~="~$"
Mengerti!
Cukup ketik ini di kotak pencarian:
sumber
"*$*"
, 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).Ayo Bantu!
Untuk masalah Windows Search, rekomendasi saya adalah dua hal:
Pertama, beberapa dasar pada AQS
Secara default, properti file string (Nama file, penulis, dll.) Mencari
COP_WORD_STARTSWITH
$<
, sehingga setiap kata (dipisahkan olehspaces , - _ () []
dan banyak lagi) yang dimulai dengan istilah pencarian Anda. Properti non-string lainnya (Tanggal, dll.) Mencari denganCOP_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_DOSWILDCARDS
kueri (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 denganCOP_WORD_STARTSWITH
$<
.Mari Menganalisis pertanyaan Anda
(
AQSsearch-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\Users
Sederhanacrumb=
Yah, tanda kutip
(
adalah operator pengelompokan ketika Anda menggunakanAND
atauOR
, Anda tidak mengelompokkan apa pun, jadi Windows mengira maksud Anda adalah grup yang tidak mencari semuanya.*(*
AQScrumb=
Sebagian besar pencarian windows yang dimulai dengan
*
windows mencoba untuk mengkonversi kecrumb=~~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!)"("
AQScrumb=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(
*"("*
AQScrumb=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
~="("
AQScrumb=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"*(*"
AQScrumb=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.sumber
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 10Dalam 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:
sumber
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.Gunakan ungkapan ini untuk mencari dengan nama file,
sumber
Gunakan ini di kotak pencarian:
sumber
~ "* (?). *" 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.
sumber