Windows에서 유닉스 유형 “위치”? 알고있는 파일을 어떻게 찾습니까?

Windows CLI (cmd)를 사용하여 이름의 일부를 알고있는 파일을 어떻게 찾습니까? 예를 들어, 모든 단일 Windows 워크 스테이션은 다른 위치에 javac를 설치합니다. 어떻게 Windows CLI (cmd)에서 javac를 찾을 수 있습니까?

인터넷 검색 Windows 탐색기 (파일 관리자) GUI를 사용하거나 일부 프리웨어 응용 프로그램을 다운로드하는 것에 대해서만 언급했습니다. Windows에는 실제로 찾기 명령이 내장되어 있지 않습니까? 서버 에디션이 있습니까? 나는 할 수 없습니다 , 다음은 일반적으로 내 컴퓨터 없습니다 Cygwin에서 또는 다른 것을 설치하려고합니다.



답변

당신은 당신이해야 할 일을 할 수 있어야합니다 dir:

dir [filename] /s

[filename]을 원하는 파일 이름으로 바꾸십시오. 와일드 카드를 사용할 수 있습니다. / s는 하위 디렉토리를 검색하므로 필요한 경우 C :의 루트에서 시작하여 전체 드라이브를 확인할 수 있습니다.


답변

“where”명령에 대해 아무도 이야기하지 않습니까? 현재 환경의 PATH에서 실행 파일을 검색합니다.

where <executable>

c:\ where
The syntax of this command is:

WHERE [/R dir] [/Q] [/F] [/T] pattern...

Description:
    Displays the location of files that match the search pattern.
    By default, the search is done along the current directory and
    in the paths specified by the PATH environment variable.


답변

Windos가 가장 간단한 답변을 제공합니다. 그러나 명령 줄을 좋아한다면 powershell 도보 고 싶을 것입니다. 동일한 유형의 검색을 수행하려면

get-childitem [starting path eg c:\users\] -filter [wildcarded search or filename] -recurse

편리한 foreach 문으로 펌핑하고 검색 결과에 대해 프로세스를 실행할 수 있다는 장점이 있습니다.

get-childitem [starting path eg c:\users\] -filter [wildcarded search or filename] -recurse |
    foreach ($_){
          [do something to $_.fullname , like maybe display my image file or relocate it etc..]
    }


답변

나는 단순히 Windows를위한케이트 프로그램을 얻었다 . 읽어보기 지침을 따르고 .dll 파일과 .exe를 system32에 복사하면됩니다.

대안은 환경 변수 PATH에 프로그램 경로를 추가하는 것을 포함합니다.

아이디어는 “같은”위치를 찾고 있다면 Windows에서 위치를 찾는 것입니다. 🙂


답변

문제는 다소 모호합니다.

파일을 찾으려고하지만 (OP 본문에 명시되어 있음) “위치 유형”명령 / 앱 (제목에 명시되어 있음)도 필요합니다. 큰 의미가있는 미묘한 고려 사항이 하나 있습니다. 두 가지 방법으로 찾을 수 있습니다.

  1. 각 검색에서 대상 트리 구조를 직접 검색합니다 (느리게).

  2. 먼저 대상 트리 구조의 데이터베이스를 작성하고 (시간이 오래 걸릴 수 있음) 데이터베이스를 검색하여 위치를 찾습니다 (매우 빠름). 검색에서 좋은 결과를 얻으려면 데이터베이스를 정기적으로 업데이트해야합니다. http://en.wikipedia.org/wiki/Locate_%28Unix%29를 참조하십시오 .

유닉스 locate는 “유형 2″이지만 OP의 본문에 따라 두 가지 방법 중 하나를 사용하면 문제가 없습니다. 또한 CLI 옵션에 대해 구체적으로 묻습니다.

아래에 몇 가지 옵션을 나열하고 CLI / GUI인지 여부를 입력하고 1/2을 입력 한 후 주석을 추가합니다.

  1. http://locate32.cogit.net/
    (이미 John T가 지적한 다음 Cheeku ). GUI, 유형 2입니다. 이식 가능한 버전이 있습니다. 뛰어난 사용 편의성 및 구성 가능성. 유닉스와 매우 비슷합니다 locate(많이 사용하고 좋아했습니다).
    참고 : 유닉스의가 사용되는 Updatedb데이터베이스를 업데이트 (물론,이 스캔 된 나무의 크기에 따라 달라집니다) 꽤 오래 걸려, 내가 찾을 locate32 매우 빠르게. 어떻게 그렇게 많이 개선 될 수 있는지 모르겠습니다.

  2. http://sourceforge.net/projects/winlocate/
    CLI, 2를 입력 하십시오 .

  3. dir [filename] / s , Windos의 솔루션 . CLI, 1을 입력하십시오.

  4. gci … , OldWolf의 솔루션 . CLI, 1을 입력하십시오.

  5. http://gnuwin32.sourceforge.net/packages/findutils.htm
    CLI, 유형 2

  6. 모든
    GUI에?를 입력하십시오.


답변

찾기 및 업데이트 할 PowerShell 포트를 만들었습니다. 백엔드로 SQLite를 사용하고 자동 설치 프로그램이 있습니다. 다만

.\Invoke-Locate.ps1 -install.

위치는 약 300ms / 쿼리가 걸립니다.

그때

locate whatever

당신은 설정되었습니다.

여기에 이미지 설명을 입력하십시오

https://gallery.technet.microsoft.com/scriptcenter/Invoke-Locate-PowerShell-0aa2673a


답변

손으로 설치할 필요가 없습니다. http://chocolatey.org 참조

choco install winlocate

쉘 환경 재시작

Updatedb.bat -a
Locate.bat somefile