- 利用 for 來解析變數或指令的輸出
範例:輸出日期格式為 20121222
for /F "tokens=1-3 delims=/ " %a IN ("%date%") DO (set _mydate=%a%b%c)
※若要寫在批次檔裡,變數要多一個%,例如 %%a
※delims=/ 表示以/符號當區隔符號,特別注意可以用多個符號做分隔,例如delims=/+
※若要做檔案分析可用("filenameset")
※若要做指令輸分析可用(`command`)
※若要分析字串可用("String")
※tokens=1-3表示用delims分隔後,取第1到3的值並設定為變數,也可以用1,3表示要抓第1和3的值 - echo
換行
@echo: - forfiles
這個指令可針對條件搜尋檔案並對這些檔案執行指令
語法: forfiles [/p Path] [/m Mask] [/c Command] [/d [ + | - ] {dd/MM/yyyy | dd } ]
/p 要搜尋的路徑,預設為當前目錄
/s 搜尋子目錄
/c 對找到的檔案執行的指令,預設為 "cmd /c echo @file"
常用的變數
@file 檔案名稱
@fname 檔案名稱,但沒有副檔名
@path 檔案的絕對路徑
@isdir 假如是目錄回應"TRUE",若為檔案回應"FALSE"
@fsize 檔案大小,單位bytes
@fdate 檔案最後修改的日期
@ftime 檔案最後修改的時間
/D date 最後修改的日期大於或等於給定的日期(+),或少於(-)
/D + dd 大於或等於今天的日期加上 "dd" (未來日期)
/D - dd 小於或等於今天的日期減去 "dd" (過去日期)
"dd" 的區間為0 ~ 32768,預設採用 +
範例: 刪除七天前的備份檔(刪除檔案最好加上/m避免誤砍)
forfiles /p D:\backup /m *.bak /d -7 /c "cmd del @path"
2012年12月22日
windows batch note
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言