forfiles是windows自帶的乙個批量刪除命令,對於時間的判斷是通過檔案自身的修改日期屬性進行判斷,使用它來對歷史檔案進行判斷刪除是個不錯的選擇。
forfiles [/p path ] [/m searchmask ] [/s ] [/c command ] [/d ]
[/p path ]:指定路徑,當然目錄可以用「.」[/m searchmask ]:搜尋方式,預設是*.*[/s ]:遍歷子目錄進行搜尋,包括當前目錄
[/d ]:選擇日期大於或等於(+ )(或者小於或等於(- ))指定日期的檔案,預設+其中mm / dd / yyyy 是指定的日期,dd 是當前日期減去dd 天,預設是dd 。dd 的有效範圍是0 - 32768
例如:/d -15
:查詢15天之前的檔案
/d 2016/12/9:指定查詢的檔案日期為2016/12/9
[/c command ]:指定要執行的命令,格式為[ /c "
cmd /c rd /s/q @path
" ];雙引號裡面的/c後接需要執行的命令。
變數:@file
顯示檔名
@fname
顯示無副檔名的檔名
@ext
顯示副檔名
@path
顯示檔案的完整路徑
@relpath
檔案的相對路徑
@isdir
如果檔案型別是目錄,則計算值為true,否則值為false
@fsize
顯示用位元組表示的檔案大小
@fdate
顯示檔案中上次修改的日期戳
@ftime
顯示檔案中上次修改的時間戳
1.檢視「d:\backup\data」目錄下名稱包含「--」,且修改時間大於15天的檔案或者資料夾
forfiles.exe /p d:\backup\data /m *-*-* /d -15 /c "cmd /c echo @path
"
2.刪除,/s/q(/s資料夾下存在檔案也刪除,/q強制刪除不提示)
forfiles.exe /p d:\backup\data /m *-*-* /d -15 /c "cmd /c rd /s/q @path
"
備註:路徑不支援"\\url\"這種共享路徑,rd(刪除資料夾),del(刪除檔案)
備註:pursuer.chen
部落格:《歡迎交流討論》
linux刪除歷史檔案
伺服器上可能會產生很多臨時檔案,時間久了會導致伺服器的磁碟空間不足,故此可以寫個定時指令碼檔案,每天定時刪除指定目錄下的檔案。bin bash base file path home dmtsai file temp echo base file path default days 3 days 3...
github刪除提交歷史
刪除git的提交歷史直接刪除.git檔案再初始化倉庫也是可以的,但有可能回導致git儲存庫出現問題,所以我喜歡採用第二種方式。即新建乙個分支,把 傳到新分支上,刪除老分支,再把新分支重新命名為老分支,就完美解決了此問題。二種 如下 一 先刪除.git檔案 git init git remote ad...
find刪除歷史檔案方式
刪除3天以前的無用 log檔案 find log amin 4320 name log xargs rm 或者find log ctime 2 name log exec rm rf 引數說明 find 根據下列規則判斷 path 和 expression,在命令列上第乙個 之前的部份為 path,...