2015-09-16 39 views
0

删除文件我使用FORFILES使用这个论坛上的其他地方找到下面的脚本来删除一个特定的目录超过7天以上的文件:如何使用FORFILES没有扩展

forfiles -p "H:\E-drev" -m *.* /D -7 /C "cmd /c del @path" 

这工作,除了罚款我有一些没有扩展名的文件,例如。一个名为的文件TA07l。这个文件不会被删除。我曾尝试使用@fname而不是@path,但这没有帮助。

任何意见将不胜感激。

回答

1

以下应该工作:

forfiles /P "H:\E-drev" /M * /D -7 /C "cmd /C if @isdir==FALSE if @ext==\"\" del @path" 
0

你必须使用*而不是*.*,否则它就会搜索包含一个圆点**.*.*之间的几个例子.

更新每一个文件:

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" 
+0

模式'*'匹配_every_项;也许'* .'可能会工作(但我现在无法测试)... – aschipfl

+0

是的,'* .'是如何显示没有扩展名的文件。 – SomethingDark

+0

@SomethingDark也不在'forfiles'情况下。 – Paul