我在 Windows 7 x64 计算机上有一个管理员帐户。它不是管理员帐户,该帐户只是管理员组的一个成员。
安装是默认的。当用户打开命令提示符时,它会进入用户的 %HOMEPATH% 目录,您会在该目录中找到各种目录,例如 Documents 文件夹。如果用户使用以下 (windows) FIND 命令,则会出现“访问被拒绝”错误:
FIND /I "My String" C:\Users\Rann\Documents
Access denied - C:\USERS\RANN\DOCUMENTS
使用 runas 或右键单击命令提示符以管理员身份运行它不会改变此行为;管理员级别的 cmd.exe 仍然会给出相同的错误。将路径更改为任何其他目录都会给出相同的错误。
我的问题是:如何使用 FIND(可能还有其他)命令?需要什么权限?
答案1
您正在尝试对目录执行 find。它只适用于文件。尝试以下操作:
FIND /I "My String" C:\Users\Rann\Documents\*
答案2
确实如此,Find 似乎不再向下递归。不过,不用担心,我们可以在这里使用一些脚本帮助。这是我尝试过的一个,它有效:
for /R %G in (*) do (find "String_I_am_Looking_For" %G)
这将搜索所有子文件夹。
这可能会产生多行输出。因此,将输出直接发送到文件可能更容易:
对于/R %G 在 (*) 中执行 (查找 "String_I_am_Looking_For" %G) >> 输出.txt
然后在此文件中查找搜索字符串(您可以使用目视检查或 Ctrl+F 在此处查找)。
答案3
这不对。FIND 过去用于搜索所有子目录,但由于 Win 7 的安全性,现在不再能搜索了。您必须将文件系统挂载为 OFFLINE 才能正确使用 FIND。
答案4
我是巴巴尔,我对此收取费用,但现在为了代表们的利益它是免费的。
让我告诉你如何通过 cmd 绕过拒绝访问的文件或文件夹:
目的:您必须知道要访问的文件夹和驱动器的名称。
如果您应用此:假设您的文件夹在 Drive-D 中并且名称是 babar。
C:\users\system32> cd /dd: 按回车键
D:>for %g in (babar) do (find /n /i "文件夹名称:" "%g" ) 按回车键
D:> 拒绝访问 - 未找到文件
::#######################################
如果您在 CMD.EXE 中尝试上述命令,就会发生这种情况
现在请观看我如何让您绕过“访问被拒绝”错误文件。
C:\users\system32> cd /dd:
D:>for /r %g in (babar) do (find /n /i "文件夹名称:%g ") 按回车键
D:>(find /n /i "文件夹名称:D:\babar ")
然后按“ctrl C 按钮”取消并退出 CMD shell
我希望这足以了解有多少网站在解释内容时没有显示错误。
谢谢。