以下命令创建一个无限循环,这不是我想要的,因为我正在迭代文件并且它需要在某个时候结束......
这是我所拥有的:
cd C:\
FOR /R %i IN (*.pst) do @echo %i
看看会发生什么,当它到达 AppData 并找到 .pst(在 AppData\Local\Microsoft\Outlook 中)时,AppData\Local 内有一个名为“Application Data”的快捷方式文件夹,该文件夹循环回 AppData\Local 但不断添加其名称到这样的地址:
%AppData%\Local\Application Data\Application Data\Application Data\Microsoft\Outlook\%filename%.pst
我可以在代码中添加什么来防止它循环,或者更好地完全忽略快捷方式,以便循环在找到我需要的所有文件时结束?
- - - - - -编辑 - - - - - - -
这似乎做了类似的事情:
dir /s /b *.pst
您可以使用以下方法过滤掉重新分析点DIR /A-L
.
然而,使用DIR /A-L /S
也不起作用,因为重新分析点内容不是重新分析点,所以,试试这个:
代替FOR
use:
FindFiles.bat *.pst c:\
创建一个FindFiles.bat
文件:
@ECHO OFF
:GetDirFiles %1=Wildcard %2=Path
FOR %%f IN ("%~f2\%~1") DO ECHO %%~ff
FOR /F "DELIMS=" %%d IN ('DIR /B /AD-L "%~f2"') DO CALL :GetDirFiles %1 "%~2\%%d"
这将递归地获取所有不是重解析点的目录,并回显与每个目录的模式匹配的项目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)