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


9

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

따라서 '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 기본 명령 줄 솔루션에 만족합니다.

답변:


7

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.

나는 당신이 거기서 무엇을했는지 봅니다 ... : D
Tamara Wijsman

감사! 저 자신을 생각했을 것입니다. 현상금 수여
G-.

제가 무엇을 했나요? ..
G-.

1
@ G- .: 그것은 제레미를 언급하고 있었는데, 우리가 이에 대한 해결책을 찾지 못했을 때 "스마트 @ $ #"접근 방식을 사용한 방식입니다. 제 3의 사람이 와서 싸우고있는 다른 사람에게서 뼈 (바운티)를 가져가는 것은 항상 좋은
Tamara Wijsman

1

가장 쉬운 해결책은 권한이있는 경우 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"


검색 모든 것이 효과가있을 때는 훌륭하지만 포스터에서 요구하는대로 텍스트를 검색하지는 않습니다. 또한 디스크에서 처리 할 수있는 파일 수에 대해 백만 개가 넘는 제한이있어 사용할 수 없게되며 Windows를 사용하지 않으면 검색 데이터베이스를 초기화하는 데 시간이 오래 걸릴 수 있습니다. 이러한 문제와 관련하여 개발자와 연락하면서 개발이 중단되었지만 오픈 소스로 만들려는 의도는 아닙니다.
harrymc

64 비트 파일 서버에서 모두 검색을 실행했는데 여전히 작동합니다. 정확한 한도는 어디입니까? Windows Grep은 구세주 인 것 같습니다? 랜덤 가정에 대한 완전성에 대해 이야기할까요? 완벽하지 않으면 더 높은 품질로 이어진다 고 생각하십니까? 무슨 문제 야? 당신이하려고하는 그 약 게임? 지루 해요? 품질> 수량 .
Tamara Wijsman

아마도 grep을 사용하여 '.ini'를 찾는 것이 좋지 않은 이유를 포스터에 알려 주어야 할 수도 있습니다.
harrymc

@harrymc : 우리는 여기서 컨텐츠를 찾고 있기 때문에 귀중한 컨텐츠 ...
Tamara Wijsman

2
귀하의 조언에 감사드립니다. 그러나 언급했듯이 서버에 추가 실행 파일을 설치할 수 없습니다. "wsearch"가 설치에 유효한 서비스가 아닌 것 같습니다.
G-.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.