Problemas para intentar usar la búsqueda de Windows para buscar archivos con un signo de interrogación en el contenido

15

Parece que Windows Search está teniendo problemas cuando especifico un carácter de signo de interrogación como el contenido que estoy buscando dentro de mis archivos.

He intentado:

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

pero cada uno de estos no produce resultados cuando realmente tengo archivos que contienen? dentro del alcance de la búsqueda. Si en cambio busco algo como contenido: feliz, de hecho, encontrará todos los archivos con la frase "feliz" dentro de esos mismos archivos.

Mi suposición es que Windows Search está tratando algunos caracteres, como el signo de interrogación, como un carácter especial, probablemente con el propósito de expresiones comodín. Para probar esta teoría, también busqué archivos que contengan un asterisco * y, de hecho, tengo el mismo problema que cuando busco contenido de signo de interrogación. Lo que me pregunto es si hay alguna forma de hacer que una búsqueda funcione, donde puedo buscar una expresión literal sin ningún tipo de comodín o al menos una forma de escapar de los caracteres especiales dentro de la expresión.

Por cierto, estoy usando Windows 7 Enterprise.

jpierson
fuente

Respuestas:

12

Prueba ~ =? dónde ? es el personaje que estás buscando.

Monkerdermatólogo
fuente
44
¡Excelente! contenido: ~ =? trabajado embellecer! Por curiosidad, ¿de dónde sacaste la idea de usar ~ = como secuencia de escape?
jpierson
Estoy tratando de buscar "my_string". Parece estar tratando el guión bajo como un espacio o una coma o algo, y mostrándome todo lo que contiene "mi" o "cadena" o ambos.
Shavais
¿Cómo podré usar esto para buscar archivos dentro de un archivo? Por ejemplo:content:"reports.asp"
John Odom
La sintaxis de búsqueda de Windows tiene muchos caracteres especiales, por lo que debe citar la mayoría de ellos para evitar que se interpreten. Ver msdn.microsoft.com/en-us/library/bb266512(v=vs.85).aspx . Sin embargo, ? y *, entre comillas o no, siempre se interpretan como comodines de DOS. * para todos los personajes,? por 1 char. Si hace clic en la barra de direcciones del explorador de Windows, verá que Windows convierte la búsqueda a la sintaxis de consulta real. ? y * se interpretan como crumb = filename% 3A ~?% 20OR% 20System.Generic.String% 3A? (cont.) a continuación
Mr_Moneybags
Esto filename:~?significa buscar como comodín de DOS, nombres de archivo que EMPIEZAN con cualquier carácter (¡esencialmente cada archivo!). OR System.Generic.String:?significa O cualquier propiedad / contenido de archivo que tenga una PALABRA QUE COMIENCE CON literalmente? Mi consejo, lea la documentación de AQS y haga clic en la barra de direcciones para ver en qué Windows Search reinterpreta el AQS. También tenga en cuenta, de forma predeterminada, las propiedades del archivo de cadena (Nombre de archivo, autor, etc.) De forma predeterminada, busque con WORD_STARTSWITH $<, por lo que cualquier palabra que comience con su término de búsqueda. Otras propiedades sin fecha (fechas, etc.) buscan con EQUAL=
Mr_Moneybags
6

Parece que Microsoft ha eliminado la capacidad de buscar solo caracteres especiales. Para buscar con caracteres especiales también debe haber una palabra incluida ( Example: Who?). Nuevamente, debe haber una palabra , no solo un comodín, con el carácter especial. ¿Eso es porque Windows Search ignora los caracteres especiales con la excepción de los comodines ?. Según esta página de sugerencias y trucos de búsqueda de indows , los únicos comodines disponibles en la búsqueda de Windows son asteriscos y signos de interrogación. Sin embargo, parece que el único que funciona es el asterisco. Incluso al probar su ejemplo s?n, se encuentra en la misma página.

Aquí hay una cita de una publicación en los foros de Vista64: ( Fuente )

En realidad, el problema es un poco diferente. La búsqueda ahora se basa en palabras, no en caracteres . Los corchetes se consideran signos de puntuación por Búsqueda, no comodines. Para obtener resultados significativos, las consultas que contienen signos de puntuación también deben contener palabras, una frase o un comodín . Por ejemplo, si busco en esto: [*]o en esto: {*}obtengo un montón de archivos que tienen una frase en su nombre entre paréntesis, como era de esperar. Así que inténtalo.

SgtOJ
fuente
1
Lamentablemente, no creo que su explicación sea completamente precisa. Cuando busqué contenido: "¿ladrar?" Coincido con documentos que tienen tanto ladrido? y solo ladrar dentro de ellos. Por lo tanto, parece que la puntuación simplemente se ignora.
jpierson
Señor, cierto. Eso es lo que dije. De mi respuesta: Eso se debe a que Windows Search ignora los caracteres especiales con la excepción del comodín.
SgtOJ
1
... No acabo de adaptar mi respuesta a su problema con solo un signo de interrogación. En cambio, mi respuesta explica lo que está sucediendo con todos los caracteres especiales, con la excepción del carácter comodín: el asterisco. Tenga en cuenta que no digo que haya un comodín, sino que descubrí que solo el asterisco funciona como comodín. Por favor, hágamelo saber si encuentra otro para que mi respuesta pueda actualizarse.
SgtOJ
4

En Windows 7 tuve un problema similar, solo estaba tratando de buscar palabras clave entre corchetes ("[" también se ignoró de forma similar a "?", "(", "]", Etc.) dentro del nombre de archivo. para mi es lo siguiente:

nombre del archivo:"*[Cumbia]*" OR filename:"*[Reggae]*"

Esto encontraría todas mis canciones que etiqueté con la cadena de texto [Cumbia]o [Reggae]dentro de los nombres de archivo. Lo que haría entonces sería seleccionar todos los archivos y luego hacer clic derecho en la selección para invocar la función Enviar para enviar todas las canciones a mi programa reproductor de música (Winamp en este caso).

Scott Cedars
fuente
Excelente. Usar en filenamelugar de usar contentfuncionó para mí. Traté de filtrar archivos duplicados que tienen el archivo (1) .jpg y el archivo (2) .jpg y utilicé esta expresión filename: "*(1)*"y filename: "*(2)*".
Afortunado
2

Pruebe content: ~="?"o extension: ~="?"cualquier personaje especial que esté buscando en las citas, etc.

Chris Lottes
fuente
1

No uso Windows Search, pero me pregunto si admite caracteres de escape como se describe en este artículo de Microsoft:

Usando el protocolo de búsqueda

Si es así, puede intentar usarlo %3fpara el signo de interrogación.

harrymc
fuente
Intenté su sugerencia y busqué% 3f, contenido:% 3f y contenido: "% 3f" pero fue en vano. También probé combinaciones con comodines pero todavía no tuve suerte. Gracias por la sugerencia de todos modos.
jpierson
1

Simplemente use powershell para buscar el contenido del archivo:

Get-ChildItem -recurse | Select-String -pattern "dummy" | ruta de grupo | seleccione nombre

usuario2257658
fuente
Si bien no respondí la pregunta directamente, esto me dio exactamente lo que necesitaba como alternativa, ¡gracias! Necesito aprender más powershell.
Mark Adamson el