Wie kann ich Windows system32 / find.exe entfernen oder deaktivieren?

3301
th3falc0n

Ich versuche, mein Windows-System mit vorhandenen Makefiles so kompatibel wie möglich zu machen. Ein großer Schritt, der fehlt, ist das Ersetzen des Fensters "find" (was dasselbe wie grep ist) durch GNU find (Liste aller Dateien in Verzeichnis und Unterverzeichnissen). Ist das möglich? (Ich habe bereits msys find installiert und kann sofort loslegen. Das Entfernen von system32 / find.exe würde wahrscheinlich funktionieren, ist aber leider nicht so einfach möglich.)

7
Ich benenne meine gnu utils find.exe in ufind.exe um und benutze ufind user619818 vor 10 Jahren 0
Das Problem dabei ist, dass diese Lösung zu unterschiedlichen Makefiles auf verschiedenen Plattformplattformen führen würde (sofern ich auf meinen Linux-Computern keinen Uffind-Link erstellen möchte). th3falc0n vor 10 Jahren 0
Tu das nicht. Es wird das Zeug brechen. Verwenden Sie stattdessen eine GNU-Umgebung wie [Cygwin] (http://cygwin.com/) oder [MinGW] (http://www.mingw.org/). Daniel B vor 10 Jahren 10
Wenn ich die mit msys bereitgestellte Shell in MinGW (die ich verwende) verwende, ist es immer noch abhängig von der Windows PATH-Variable, die system32 und SysWOW64 als Suchpfade definiert und somit die msys-Suche überschreibt. th3falc0n vor 10 Jahren 0
Bei der Installation ist etwas schiefgelaufen. % PATH% -Verzeichnisse werden von vorne nach hinten durchsucht und die erste Übereinstimmung wird verwendet. Solange MinGW seine Verzeichnisse weiter vorne hat, ist alles in Ordnung. Daniel B vor 10 Jahren 0
Wenn Sie `bash.exe` oder` sh.exe` verwenden, wird mit `find` die GNU-Suche anstelle der Win32-Suche aufgerufen. `sh.exe` und` bash.exe` werden mit `git` oder MinGW geliefert. Rapptz vor 10 Jahren 1
Dies wird nur dann geschehen, wenn es mit dem richtigen Skript gestartet wird, das in MinGW mit msys bereitgestellt wird, da die msys-Binärdateien standardmäßig nicht von MinGW zur globalen Path-Variablen hinzugefügt werden th3falc0n vor 10 Jahren 0

2 Antworten auf die Frage

16
salehigal

Anstatt Windows 'find.exe zu entfernen, empfehle ich dringend, GNU in Ihren Pfad vor Windows \ System32 einzufügen. Mit Cygwin können Sie beispielsweise Folgendes verwenden:

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

Natürlich müssen Sie das nicht manuell tun - es funktioniert einfach. Aus MSYS `` / etc / profile`: `export PATH =".: / Usr / local / bin: / bin: / mingw / bin: $ PATH "` Daniel B vor 10 Jahren 0
Wenn Sie diese Route wählen, ist es besser, den Umfang so weit wie möglich einzuschränken. Ändern Sie nicht "PATH" für das gesamte System. Ändern Sie sie nur für die von Ihnen verwendete Anwendung (z. B. haben Sie eine spezielle Batchdatei, um eine Eingabeaufforderung mit `set PATH = \ path \ auf \ cygwin;% PATH%` zu starten) zu starten. Dies begrenzt mögliche Überraschungen später, wenn Sie oder eine andere Person ein Windows-Dienstprogramm erwartet und stattdessen ein * nix-Dienstprogramm erhält. Bob vor 10 Jahren 1
1
th3falc0n

Sie können auf alle geschützten Dateien zugreifen, indem Sie den Eigentümer ändern.

Für Windows 7 für die Datei oder den Ordner, die Sie bearbeiten möchten:

  • Gehen Sie zu Eigenschaften-> Sicherheit-> Erweitert-> Besitzer
  • Ändern Sie den Besitzer entweder zu Administratoren oder zu Ihrem eigenen Benutzer
  • Unter Eigenschaften-> Sicherheit erteilen Sie dem neuen Eigentümer Rechte

Quelle: Windows 7 - Löschen von durch TrustedInstaller geschützten Dateien

Bitte geben Sie die notwendigen Schritte in Ihre Antwort ein. Wenn der Link irgendwann abbricht, wird Ihre Antwort weniger nützlich. gronostaj vor 10 Jahren 2
Und dann könnte jedes Windows Update (sei es ein Bugfix, ein Sicherheitsupdate, ein Service Pack oder auf andere Weise) find.exe durch die "richtige" Version ersetzen. Dies ist eine "globale" Lösung für ein "lokales" Problem und sie sind ausnahmslos immer eine schlechte Idee. Rob vor 10 Jahren 0
Sie vermuten, warum ich die Antwort von salehigal als richtig eingestuft habe? Meine ist die Lösung des von mir gewünschten Problems. Die Lösung von salehigal bezieht sich auf das Problem, das ich tatsächlich hatte. th3falc0n vor 10 Jahren 2