forfiles [/p pathname] [/m searchmask] [/s]
[/c command] [/d [+ | -] ]
描述:選擇乙個檔案(或一組檔案)並在那個檔案上
執行乙個命令。這有助於批處理作業。
引數列表:
/p pathname 表示開始搜尋的路徑。預設資料夾是當前工作的
目錄 (.)。
/m searchmask 根據搜尋掩碼搜尋檔案。預設搜尋掩碼是 '*'。
/s 指導 forfiles 遞迴到子目錄。像 "dir /s"。
/c command 表示為每個檔案執行的命令。命令字串應該
用雙引號括起來。
預設命令是 "cmd /c echo @file"。下列變數
可以用在命令字串中:
@file - 返回檔名。
@fname - 返回不帶副檔名的檔名。
@ext - 只返回檔案的副檔名。
@path - 返回檔案的完整路徑。
@relpath - 返回檔案的相對路徑。
@isdir - 如果檔案型別是目錄,返回 "true";
如果是檔案,返回 "false"。
@fsize - 以位元組為單位返回檔案大小。
@fdate - 返回檔案上一次修改的日期。
@ftime - 返回檔案上一次修改的時間。
要在命令列包括特殊字元,字元請以 0xhh
形式使用十六進製制**(例如,0x09 為 tab)。
內部 cmd.exe 命令前面應以 "cmd /c" 開始。
/d date 選擇檔案,其上一次修改日期大於或等於 (+),
或者小於或等於 (-) 用 "yyyy/mm/dd" 格式指定的日期;
或選擇檔案,其上一次修改日期大於或等於 (+)
當前日期加 "dd" 天,或者小於或等於 (-) 當前
日期減 "dd" 天。有效的 "dd" 天數可以是
0 - 32768 範圍內的任何數字。如果沒有指定,
"+" 被當作預設符號。
/? 顯示此幫助訊息。
示例:forfiles /?
forfiles
forfiles /p e:\bak /s /m *
forfiles /s /m *.txt /c "cmd /c type @file | more"
forfiles /p c:\ /s /m *.bat
forfiles /d -30 /m *.exe
/c "cmd /c echo @path 0x09 在 30 前就被更改。"
forfiles /d 2001/01/01
/c "cmd /c echo @fname 在 2023年1月1日就是新的。"
forfiles /d +2014/10/20 /c "cmd /c echo @fname 今天是新的。"
forfiles /m *.exe /d +1
forfiles /s /m *.doc /c "cmd /c echo @fsize"
forfiles /m *.txt /c "cmd /c if @isdir==false notepad.exe @file"
刪除7天前的檔案。(不刪除資料夾)
forfiles /p e:\bak /m * -d -7 /c "cmd /c del /f @path"
建立計畫任務
一次性的計畫任務at service atd status 啟動atd 如果沒有則需要先安裝,再啟動 並設為開機自動啟動 chkconfig atd start 建立任務 at 10 30 at 10 30 2017 8 9 wall hello world touch date.txt 按ctrl...
建立windows計畫任務
這幾天玩windows計畫任務,有點感受。一開始覺得不大好用,因為建立乙個windows總是讓輸入賬戶和密碼 如果是使用者的機器,我去哪弄密碼去 不爽!後來發現搜狗的計畫任務就可以執行,仔細看了下,搜狗建立的計畫任務的賬戶型別是nt authority system的,而我的是建立administr...
自動建立計畫任務之刪除7天以前的備份檔案批處理
由於我的公司遊戲 露娜luna 伺服器太多,之前建立的每日備份日誌檔案日積月累會 很大。而且不需要保留那麼多,按公司要求只需要保留乙個星期的即可。1.那麼有什麼方法自動刪除7天以前備份的 log檔案呢?2.伺服器過多,不可能一一手動建立,有沒有自動完成這個建立計畫任務的批處理呢?首先要解決的是自動刪...