폴더를 인덱스에 추가하지 않고 Windows Server 2008에서 “일회성”파일 컨텐츠 검색을 수행 할 수 있습니까? C:\textFiles\ FILE

폴더가 검색 색인에없는 경우 폴더에 특정 문자열이 포함 된 파일을 검색 할 수 있습니까?

따라서 ‘textFiles’폴더가 색인에 없다고 가정하십시오. Windows 탐색기에서이 폴더로 이동합니다. 검색 창에 ‘.ini’를 입력하고 ‘b.txt’만 포함 된 결과 목록을 보려고합니다.

FOLDER C:\textFiles\

FILE  a.php
CONTENT once twice thrice mice moose monkey

FILE b.txt
CONTENT mingle muddle middle.ini banana beer

FILE c.spo
CONTENT sellotape stapler phone book

Windows 인덱스에 폴더를 추가 할 수있는 권한이 없으며 서버 또는 승인 된 응용 프로그램과 함께 제공되지 않은 실행 파일을 설치하거나 실행할 수있는 권한이 없습니다.

필요한 경우 Windows 기본 명령 줄 솔루션에 만족합니다.



답변

Microsoft에서 제공하는 명령 줄 도구 findstr.exe를 사용하여이 작업을 수행 할 수 있습니다.

  1. 명령 프롬프트를 열고 c : \ textfiles로 이동하십시오.

  2. 명령을 실행 findstr /L /M /C:"ini" *.*

    참고 : 모든 하위 디렉토리를 검색하기 위해 / S를 추가 할 수 있습니다.

FINDSTR에 대한 자세한 내용

  FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
        strings [[drive:][path]filename[ ...]]

  /B         Matches pattern if at the beginning of a line.
  /E         Matches pattern if at the end of a line.
  /L         Uses search strings literally.
  /R         Uses search strings as regular expressions.
  /S         Searches for matching files in the current directory and all
             subdirectories.
  /I         Specifies that the search is not to be case-sensitive.
  /X         Prints lines that match exactly.
  /V         Prints only lines that do not contain a match.
  /N         Prints the line number before each line that matches.
  /M         Prints only the filename if a file contains a match.
  /O         Prints character offset before each matching line.
  /P         Skip files with non-printable characters.
  /OFF[LINE] Do not skip files with offline attribute set.
  /A:attr    Specifies color attribute with two hex digits. See "color /?"
  /F:file    Reads file list from the specified file(/ stands for console).
  /C:string  Uses specified string as a literal search string.
  /G:file    Gets search strings from the specified file(/ stands for console).
  /D:dir     Search a semicolon delimited list of directories
  strings    Text to be searched for.
  [drive:][path]filename
             Specifies a file or files to search.

Use spaces to separate multiple search strings unless the argument is prefixed
with /C.  For example, 'FINDSTR "hello there" x.y' searches for "hello" or
"there" in file x.y.  'FINDSTR /C:"hello there" x.y' searches for
"hello there" in file x.y.

Regular expression quick reference:
  .        Wildcard: any character
  *        Repeat: zero or more occurrences of previous character or class
  ^        Line position: beginning of line
  $        Line position: end of line
  [class]  Character class: any one character in set
  [^class] Inverse class: any one character not in set
  [x-y]    Range: any characters within the specified range
  \x       Escape: literal use of metacharacter x
  \<xyz    Word position: beginning of word
  xyz\>    Word position: end of word

For full information on FINDSTR regular expressions refer to the online Command
Reference.

답변

가장 쉬운 해결책은 권한이있는 경우 Windows 검색을 일시적으로 끄는 것입니다 .

  1. net stop wsearch

  2. Windows 탐색기의 폴더에서 검색하면 색인없이 검색됩니다.

  3. net start wsearch

작은 폴더에서는 작동하지만 큰 폴더에서는 문제가 발생할 수 있습니다.

파일 내용 검색을위한 대안

Windows Grepgrep 은 일치하는 줄을 볼 수있는 GUI를 제공 하여 Linux 아이디어 자체를 기반으로합니다 . 이를 통해 다양한 발생 및 해당 컨텍스트를 찾는 파일을 빠르게 살펴볼 수 있습니다.

검색에 대한 몇 가지 옵션을 제공하므로 더 크거나 복잡한 폴더에도 적합합니다.

모든 설정을 보지 않아도 마법사가 쉽고 텍스트 결과가 표시되는 방식을 구성 할 수 있습니다 (줄 번호, 부분 / 전체 줄 표시, 고정 글꼴 등).

파일 이름 검색을위한 대안

검색 모든 것이 Windows 용 가장 작은 검색 엔진 중 하나이므로 가져 와서 실행하기가 쉽고, 매우 깨끗하고 간단한 사용자 인터페이스가있어 파일을 매우 빠르게 색인화하고 검색 할 수 있습니다. 그것은 최소한의 리소스 사용을 가지고 있으며 열어두면 실시간 업데이트를 수행하므로 원하는 경우 Windows Search의 대체품으로도 적합합니다 …

나는 총 904,108 개의 파일과 폴더를 가지고 있는데, 이는 일반적인 사용자와 비교할 때 상당히 많으며 입력 Super User하면 즉시 표시됩니다 . 인덱싱도 오래 걸리지 않습니다. 따라서 몇 초만 기다리면 손가락 끝을 즉시 검색 할 수 있습니다.

예를 들어 다음과 같이 폴더에 모든 실행 파일을 표시 할 수 있습니다. *.exe "C:\Program Files"