为什么Windows 7上的FIND提供“访问被拒绝”错误?

我有一个Windows 7 x64机器上的pipe理员帐户。 它不是pipe理员帐户,帐户只是pipe理员组的成员。

安装是默认的。 当用户打开一个命令提示符时,它会在用户的%HOMEPATH%目录中find类似于Documents文件夹的各种目录。 如果用户使用以下(Windows)FIND命令,则会发生“访问被拒绝”错误:

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

使用runas或右键单击命令提示符以pipe理员身份运行它不会更改此行为; 一个pipe理员级别的cmd.exe仍然给我相同的错误。 改变任何其他目录的path给出相同的错误。

我的问题是这样的:一个人应该如何使用FIND(可能还有其他)命令? 需要哪些权利?

您正尝试在目录上执行查找。 它只适用于文件。 尝试这个:

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

这个不对。 FIND用于search所有子目录,但由于Win 7的安全性,不再“可以”。 您必须安装OFFLINE文件系统才能正确使用FIND。

这是真的,似乎Find不再recursion了。 但是,嘿,不用担心,我们可以在这里使用一些脚本帮助。 这是我尝试过的一个方法:

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

这将search所有的子文件夹。

这可能会产生多行输出。 所以将输出定向到一个文件可能更容易:

(*)do中的/ R%G(find“String_I_am_Looking_For”%G)>> output.txt

然后在此文件中查找searchstring(您可以使用目测或Ctrl + F查找此处)。