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.exe와 bash.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.