For loop 无法使用FOR命令删除隐藏文件

For loop 无法使用FOR命令删除隐藏文件,for-loop,command,dos,del,For Loop,Command,Dos,Del,我正在尝试组合一个命令,该命令将使用8.3短文件名从深层文件结构中删除所有子目录下的所有隐藏和非隐藏.tmp文件 我一直在使用下面的命令试验一个名为c:\dl\test1234567890的简单测试目录: for /r c:\dl\test1234567890 %Q in (*.tmp) do del /A "%sfQ" 我希望/A会删除所有隐藏和非隐藏的.tmp文件,但它似乎只删除非隐藏的文件。隐藏的文件仍然存在。有更好的方法吗 attrib /s -h "d:\wherever\whate

我正在尝试组合一个命令,该命令将使用8.3短文件名从深层文件结构中删除所有子目录下的所有隐藏和非隐藏.tmp文件

我一直在使用下面的命令试验一个名为
c:\dl\test1234567890
的简单测试目录:

for /r c:\dl\test1234567890 %Q in (*.tmp) do del /A "%sfQ"
我希望
/A
会删除所有隐藏和非隐藏的.tmp文件,但它似乎只删除非隐藏的文件。隐藏的文件仍然存在。有更好的方法吗

attrib /s -h "d:\wherever\whatever\*.tmp"
del /s "d:\wherever\whatever\*.tmp"
第一个命令取消隐藏文件,第二个命令删除文件(请务必小心使用)


您可能还想将
-s
-r
添加到
attrib
命令中的开关列表中(删除“系统”和“只读”属性)

,但是我不认为这会帮助我处理很长的文件路径,这就是我希望使用8.3短名称的原因,也是我不得不在%sfQ中使用for命令和s的原因