Warum gibt FIND unter Windows 7 den Fehler "Zugriff verweigert" aus? [geschlossen]


10

Ich habe ein Administratorkonto auf einem Windows 7 x64-Computer. Es ist nicht DAS Administratorkonto, das Konto ist einfach ein Mitglied der Administratorgruppe.

Die Installation ist Standard. Wenn der Benutzer eine Eingabeaufforderung öffnet, landet diese im Verzeichnis% HOMEPATH% des Benutzers, in dem sich verschiedene Verzeichnisse wie der Ordner "Dokumente" befinden. Wenn der Benutzer den folgenden Befehl (Windows) FIND verwendet, tritt der Fehler "Zugriff verweigert" auf:

FIND /I "My String" C:\Users\Rann\Documents
Access denied - C:\USERS\RANN\DOCUMENTS

Die Verwendung von Runas oder das Klicken mit der rechten Maustaste auf die Eingabeaufforderung, um sie als Administrator auszuführen, ändert dieses Verhalten nicht. Eine cmd.exe auf Administratorebene gibt mir immer noch den gleichen Fehler. Das Ändern des Pfads zu einem anderen Verzeichnis führt zu demselben Fehler.

Meine Frage lautet also: Wie soll man die FIND (und möglicherweise andere) Befehle verwenden? Welche Rechte werden benötigt?


Können diese Fragen an den Superuser übertragen werden? Es ist die einzige relevante Übereinstimmung bei der Suche nach diesem Problem und verdient eine präzise Antwort.
not2savvy

Antworten:


13

Sie versuchen, find in einem Verzeichnis auszuführen. Es funktioniert nur mit Dateien. Versuche dies:

FIND /I "My String" C:\Users\Rann\Documents\*

Richtig! Sie müssen also im Voraus wissen, in welchem ​​Ordner sich die Datei oder die Dateien befinden, um mit dem Befehl Suchen die gesuchte Textzeichenfolge erfolgreich zu finden. Es versteht keine Rekursion. Es hat diese Fähigkeit irgendwo auf dem Weg während der "Entwicklung" verloren. Aus diesem Grund können Sie auch cdin das Verzeichnis wechseln, in dem sich die Datei befindet, und ein Problem find /i "my string" *erstellen, bei dem alle Dateien in diesem Ordner nach "my string" durchsucht werden.
Samir

4

Das stimmt, es scheint, dass Find nicht mehr nach unten zurückkehrt. Aber hey, keine Sorge, wir können hier ein wenig Hilfe beim Schreiben von Skripten verwenden. Hier ist eine, die ich ausprobiert habe und die funktioniert:

for /R %G in (*) do (find "String_I_am_Looking_For" %G)

Dadurch werden alle Unterordner durchsucht.

Dies kann mehrere Ausgabezeilen erzeugen. Daher ist es möglicherweise einfacher, die Ausgabe in eine Datei zu leiten:

für / R% G in (*) do (finde "String_I_am_Looking_For"% G) >> output.txt

Suchen Sie dann nach der Suchzeichenfolge in dieser Datei (Sie können die visuelle Überprüfung oder Strg + F verwenden, um hier zu suchen).


Es ist etwas umständlich, die tatsächlichen Übereinstimmungen unter all dem Müll zu finden, den der Befehl 'find' ausgibt, aber dies ist der Trick für die ungerade Suche!
John Rix

1
Ich habe den Befehl zum Senden der Ausgabe an eine Textdatei bearbeitet. Vielleicht ist es auf diese Weise einfacher, die erzeugte Ausgabe zu verwenden.
Shivesh Suman

3

Das ist nicht richtig. FIND durchsuchte alle Unterverzeichnisse, kann dies jedoch aufgrund der Sicherheit von Win 7 nicht mehr. Sie müssen das Dateisystem OFFLINE bereitstellen, um FIND ordnungsgemäß verwenden zu können.


Sie können Windows Vista zur Liste der Windows-Versionen hinzufügen, für die kein Suchbefehl mehr vorhanden ist, der die Rekursion versteht. Ich verwende derzeit Vista Ultimate, x64 und sehe das gleiche Problem.
Samir

3
Vielleicht verwenden Sie stattdessen findstr
Aeroson

@aeroson: Das ist die Antwort - Wirst du es posten?
Pieter Geerkens

@PieterGeerkens Ich weiß, dass es bei mir funktioniert hat, aber ich weiß nicht warum, zögern Sie nicht, es zu posten.
Aeroson

-2

Dies ist Babar. Hier erhebe ich Gebühren dafür, aber es ist jetzt kostenlos für Vertreter.

Lassen Sie mich Ihnen sagen, wie Sie die Datei oder den Ordner "Zugriff verweigert" über cmd umgehen würden:

Ziel: Sie müssen den Namen des Ordners und des Laufwerks kennen, auf den Sie zugreifen möchten.

Wenn Sie dies anwenden: Nehmen wir an, Ihr Ordner befindet sich in Laufwerk D und der Name lautet babar.

C: \ users \ system32> cd / dd: Drücken Sie die Eingabetaste

D:> Für% g in (babar) do (find / n / i "Ordnername:" "% g") drücken Sie die Eingabetaste

D:> ZUGRIFF VERWEIGERT - Datei nicht gefunden

:: #########################################

Dies geschieht, wenn Sie diesen obigen Befehl in CMD.EXE versuchen

Beobachten Sie jetzt, wie Sie die Fehlerdatei ACCESS DENIED umgehen können.

C: \ users \ system32> cd / dd:

D:> Drücken Sie für / r% g in (babar) do (find / n / i "Ordnername:% g") die Eingabetaste

D:> (find / n / i "Ordnername: D: \ babar")

und drücken Sie "Strg C-Tasten", um abzubrechen und die CMD-Shell zu verlassen

Ich hoffe, dies reicht aus, um zu verstehen, wie viele Websites bei der Erläuterung des Inhalts keine Fehler aufweisen.

Danke.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.