我正在使用 forfiles 使用此论坛其他地方的以下脚本从特定目录中删除超过7天的文件:
forfiles -p "H:\E-drev" -m *.* /D -7 /C "cmd /c del @path"
这个工作正常,除了我有一些没有扩展名的文件,例如。名为 TA07l 的文件。此文件不会被删除。我尝试使用@fname
代替@path
,但这没有帮助。
非常感谢任何建议。
答案 0 :(得分:1)
您必须使用*
代替*.*
,否则它将搜索包含点.
的所有文件
使用*
和*.
以及*.*
之间的一些示例进行更新:
copy nul _onefilewithoutext
copy nul _onefilewith.ext
mkdir _oneFolder
dir /b /a-d *.
_onefilewithoutext
Forfiles
命令
forfiles /M *. /C "cmd /C echo @relpath"
Error: File Type "*." not found.
forfiles /M * /C "cmd /C echo @relpath"
".\_onefilewith.ext"
".\_onefilewithoutext"
".\_oneFolder"
forfiles /M *.* /C "cmd /C echo @relpath"
".\_onefilewith.ext"
forfiles /M * /C "cmd /C if @isdir==FALSE echo @relpath"
".\_onefilewith.ext"
".\_onefilewithoutext"
forfiles /M * /C "cmd /C if @isdir==FALSE if @ext==\"\" echo @relpath"
".\_onefilewithoutext"
答案 1 :(得分:1)
以下内容应该有效:
forfiles /P "H:\E-drev" /M * /D -7 /C "cmd /C if @isdir==FALSE if @ext==\"\" del @path"