Windows system32 / find.exe를 제거하거나 비활성화하려면 어떻게합니까?


7

Windows 시스템을 기존 Makefile과 호환되도록 만들려고합니다. 빠진 한 가지 큰 단계는 windows "find"(grep와 동일)를 GNU find (디렉토리 및 서브 디렉토리의 모든 파일 목록)로 바꾸는 것입니다. 이게 가능해? (나는 이미 msys find를 설치하고 갈 준비가되었습니다. system32 / find.exe를 제거하면 작동하지만 아마도 불행히도 쉽게 불가능합니다)


gnu utils find.exe의 이름을 ufind.exe로 바꾸고 ufind를 사용합니다
user619818

문제는이 솔루션이 (리눅스 머신에서 ufind 링크를 만들고 싶지 않은 한) 빌딩 플랫폼에 따라 다른 Makefile을 생성한다는 것입니다.
th3falc0n

10
이러지 마 그것은 물건을 휴식. 대신 Cygwin 또는 MinGW 와 같은 GNU 환경을 사용하십시오 .
Daniel B

글쎄, 내가 사용하고있는 MinGW에서 msys와 함께 제공된 쉘을 사용하면 system32와 SysWOW64를 검색 경로로 정의하여 msys 찾기를 재정의하는 Windows PATH 변수에 여전히 의존합니다.
th3falc0n

1
사용 bash.exe하거나 sh.exe사용 find하면 Win32 찾기 대신 GNU 찾기를 호출합니다. sh.exebash.exe함께 git또는는 MinGW.
Rapptz

답변:


16

Windows의 find.exe를 제거하는 대신 Windows \ System32보다 먼저 경로에 GNU를 설치하는 것이 좋습니다. 예를 들어 Cygwin에서는 다음과 같은 것을 사용할 수 있습니다.

path c:\cygwin\bin;c:\windows\system32;c:\windows;c:\program files\foo;c:\program files\bar;c:\windows\system32\wbem


물론이 작업을 수동으로 수행 할 필요는 없습니다. 이는 단순히 이러한 방식으로 작동합니다. MSYS에서 /etc/profile:export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
Daniel B

1
이 경로를 사용하는 경우 가능한 한 범위를 제한하는 것이 좋습니다. PATH전체 시스템을 변경하지 마십시오 . 사용하는 응용 프로그램에 대해서만 변경하십시오 (예 :을 사용하여 프롬프트를 시작하는 특수 배치 파일이 있음 set PATH=\path\to\cygwin;%PATH%). 이것은 나중에 당신이나 다른 누군가가 Windows 유틸리티를 기대하고 대신 * nix 유틸리티를 얻을 때 잠재적 인 놀라움을 제한합니다.
Bob

1

소유권을 변경하여 모든 보호 된 파일에 액세스 할 수 있습니다.

Windows 7의 경우 편집하려는 파일 또는 폴더에서 다음을 수행하십시오.

  • 특성-> 보안-> 고급-> 소유자로 이동하십시오.
  • 소유자를 관리자 또는 자신의 사용자로 변경
  • 새 소유자에게 속성-> 보안 부여 권한

출처 : Windows 7 – TrustedInstaller로 보호되는 파일을 삭제하는 방법


2
답변에 필요한 단계를 포함하십시오. 링크가 언젠가 죽으면 대답이 훨씬 덜 유용 해집니다.
gronostaj

그런 다음 모든 Windows Update (버그 수정, 보안 수정, 서비스 팩 등)가 find.exe를 "올바른"버전으로 다시 바꿀 수 있습니다. 이것은 "로컬"문제에 대한 "글로벌"솔루션이며 항상 나쁜 생각입니다 ..
Rob

2
내가 왜 salehigal의 대답을 정답으로 표시했는지 짐작할 수 있습니까?, 광산은 내가 요청한 문제에 대한 해결책이며, salehigal의 해결책은 실제로 가진 문제에 대한 것입니다.
th3falc0n
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.