2015-09-16 33 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