我正在使用Windows命令处理器(cmd.exe)扫描服务器中的所有文件。我的目标是要创建一个包含名称文件及其位置的.txt
文件,(以便快速搜索)。
这是我的代码:
P:
DIR *.* /P /Q /S > C:\Users\aperea01\eng.TXT
Z:
DIR *.* /P /Q /S > C:\Users\aperea01\CADUsers.TXT
R:
DIR *.* /P /Q /S > C:\Users\aperea01\eng_restricted.TXT
该批处理文件实现了其目标,但是如果我找到一个没有访问权限的文件夹,该批处理文件将停止工作。它会写入并保存最后找到的文件,但无法继续。
是否可以跳过Access denied
错误并继续扫描服务器?
谢谢。
P
,Z
和R
是我PC中某些映射的网络驱动器。
答案 0 :(得分:0)
(FOR /R "P:\" %G IN (.) DO @PUSHD %G && @DIR /Q & @POPD) >> "C:\Users\aperea01\eng.TXT"
这将遍历 P:\
中的所有子文件夹,并且只有在命令能够DIR /Q
(更改目录)到其中时才运行 PUSHD
(具有所有者的标准列表)。所有输出都重定向到 eng.TXT
。希望这能避免您遇到的 Access denied
问题,尽管我无法复制您描述的场景。