İçerikte soru işareti bulunan bir dosyayı aramak için Windows Arama'yı kullanmaya çalışmayla ilgili sorun


15

Dosyalarımda aradığım içerik olarak bir soru işareti karakteri belirlediğimde Windows Arama'nın sorun yaşadığı anlaşılıyor.

Denedim:

  • :? içerik
  • İçerik: "?"
  • İçerik: "\?"
  • İçerik: \?
  • İçerik:% 3f
  • içerik: "% 3f"
  • İçerik: \ 3f
  • İçerik: "\ 3f"
  • İçerik: \ 00 \ 00 \ 00 \ 3F

ama bunların her biri gerçekten içeren dosyaları olduğunda sonuç vermez? arama kapsamında. Bunun yerine içerik gibi bir şey ararsam: mutlu aynı dosyalar içinde "mutlu" ifadesine sahip tüm dosyaları bulur.

Benim varsayımım, Windows Search'ün soru işareti gibi bazı karakterleri, joker karakter ifadeleri için özel bir karakter olarak ele almasıdır. Bu teoriyi test etmek için yıldız işareti * içeren dosyaları da aradım ve gerçekten de soru işaretinin içeriğini ararken aynı sorunu yaşıyorum. Merak ediyorum, herhangi bir joker karakter eşleşmesi veya en azından ifade içindeki özel karakterlerden kaçmanın bir yolu olmadan değişmez bir ifadeyi arayabileceğim bir arama yapmanın herhangi bir yolu olup olmadığıdır.

Bu arada Windows 7 Enterprise kullanıyorum.

Yanıtlar:


12

~ =? nerede ? aradığınız karakterdir.


4
Mükemmel! İçerik: ~ =? güzelleştirmek çalıştı! Meraktan ~ = kaçış dizisi olarak nereden yararlandınız?
jpierson

"My_string" i aramaya çalışıyorum. Alt çizgiyi boşluk, virgül ya da başka bir şey olarak ele alıyor ve bana "benim" ya da "dizgiyi" ya da her ikisini içeren her şeyi gösteriyor gibi görünüyor.
Shavais

Bir dosyadaki dosyaları aramak için bunu nasıl kullanabilirim? Örneğin:content:"reports.asp"
John Odom

Windows arama sözdiziminin içinde çok sayıda özel karakter vardır, bu yüzden yorumlanmasını önlemek için çoğunu alıntılamanız gerekir. Bkz. Msdn.microsoft.com/en-us/library/bb266512(v=vs.85).aspx . Ancak, ? ve *, alıntılanmış olsun ya da olmasın, her zaman DOS joker kartları olarak yorumlanır. * tüm karakterler için? 1 karakter için. Windows Gezgini'nin Adres Çubuğu'na tıklarsanız, pencerelerin aramayı gerçek sorgu sözdizimine dönüştürdüğünü göreceksiniz. ? ve * kırıntı = dosya adı% 3A ~?% 20OR% 20System.Generic.String% 3A? (devam) aşağıda
Mr_Moneybags

Bu filename:~?, bir DOS joker karakteri olarak arama, herhangi bir karakterle (aslında her dosya!) BAŞLAYAN dosya adları anlamına gelir. OR System.Generic.String:?VEYA kelimenin tam anlamıyla BAŞLAYAN WORD olan herhangi bir dosya özelliği / içeriği anlamına gelir? Tavsiyem, AQS belgelerini okuyun ve Windows Arama'nın AQS'yi neye yeniden yorumladığını görmek için Adres Çubuğu'nu tıklatın. Ayrıca, varsayılan olarak, dize dosyası özelliklerini (Dosya adı, yazar vb.) Varsayılan olarak WORD_STARTSWITH ile arama yapın $<, böylece arama teriminizle başlayan herhangi bir sözcük. Dize olmayan diğer özellikler (Tarihler, vb.) EQUAL ile arama=
Mr_Moneybags

6

Microsoft, sadece özel karakterleri arama yeteneğini kaldırmış gibi görünüyor . Özel karakterlerle arama yapabilmek için yanında bir kelime de bulunmalıdır ( Example: Who?). Yine, özel karakterli bir joker karakter değil, bir kelime olmalı . Bunun nedeni, Windows Arama'nın joker karakterler dışındaki özel karakterleri yok saymasıdır. Buna göre, Arama İpuçları ve Püf Noktaları sayfası, Windows Arama'da kullanılabilen tek joker karakterler yıldız işareti ve soru işaretidir. Ancak, çalışan tek kişi yıldız işareti gibi görünüyor. Örneğini denerken bile s?n, aynı sayfa sayfasında bulundu.

İşte Vista64 Forumlar bir yazı alıntı: ( Kaynak )

Aslında sorun biraz farklı. Arama artık karakter temelli değil, kelime temelli . Köşeli ayraçlar joker karakterlerle değil, Arama ile noktalama olarak kabul edilir. Anlamlı sonuçlar elde etmek için, noktalama işaretleri içeren sorgular aynı zamanda kelime, cümle veya joker karakter içermelidir . Örneğin, ben: [*]ya da bu: Arama {*}yaparsam, ben beklediğim gibi, dosya adlarında bir cümle içinde bir grup dosya alıyorum. Bu yüzden bir deneyin.


1
Ne yazık ki açıklamanızın tamamen doğru olduğunu düşünmüyorum. İçeriği aradığımda: "havlama?" Her ikisi de kabuğu olan belgeleri eşleştiriyorum? ve sadece onların içinde havlıyorlar. Yani noktalama işaretleri basit bir şekilde yok sayılıyor.
jpierson

Efendim, doğru. Söylediğim buydu. Cevabımdan: Windows Arama joker karakter dışında özel karakterleri yok sayar .
SgtOJ

1
... sadece soru işaretiyle sorunun cevabını uyarlamamıştım. Bunun yerine cevabım, joker karakter - yıldız işareti hariç tüm özel karakterlerin neler olacağını açıklıyor. Unutmayın, bir joker karakter olduğunu söylemiyorum ama joker karakter olarak yalnızca yıldız işaretinin çalıştığını buldum . Cevabımın güncellenebilmesi için lütfen başka bir tane bulursanız bana bildirin.
SgtOJ

4

Windows 7'de benzer bir sorun vardı sadece dosya adı içinde köşeli parantez ("[" de "?", "(", "]", Vb. Gibi göz ardı) anahtar kelimeler aramaya çalışıyordum. benim için şu:

dosya adı:"*[Cumbia]*" OR filename:"*[Reggae]*"

Bu, metin dizesiyle [Cumbia]veya [Reggae]dosya adları içinde etiketlediğim tüm şarkılarımı bulur . Sonra tüm dosyaları seçmek ve daha sonra tüm şarkıları müzik çalar programıma göndermek için Sendto özelliğini çağırmak için seçimi sağ tıklayın (bu durumda Winamp).


Mükemmel. Kullanmak filenameyerine kullanmak contentbenim için çalıştı. Ben dosya (1) .jpg ve dosya (2) .jpg ve kullanılan bu ifadeyi sahip çift dosyaları filtrelemek için çalıştı filename: "*(1)*"ve filename: "*(2)*".
Şanslı

2

Deneyin content: ~="?"veya extension: ~="?"veya tırnak vb aradığınız özel olursa olsun karakter


1

Windows Arama kullanmıyorum, ancak bu Microsoft makalesinde açıklandığı gibi kaçış karakterlerini destekleyip desteklemediğini merak ediyorum:

Arama Protokolünü Kullanma

Varsa %3f, soru işareti için kullanmayı deneyebilirsiniz .


Önerinizi denedim ve% 3f, içerik:% 3f ve içerik: "% 3f" için arama yaptım, ancak boşuna. Ayrıca joker karakterli kombinasyonları denedim ama hala şanssızım. Yine de öneri için teşekkürler.
jpierson

1

Dosya içeriğini aramak için powershell'i kullanmanız yeterlidir:

Get-ChildItem - söylem | Select-String-desen "kukla" | grup yolu | isim seç


Soruyu doğrudan cevaplamasa da, bu bana tam olarak alternatif olarak ihtiyacım olanı verdi, teşekkürler! Daha fazla powershell öğrenmem gerekiyor.
Mark Adamson

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.