- MS-DOS脚本清理旧15天之前的日志文件;
echo Y | del /F /P
可以追加删除操作到脚本日志中;del /A:-
表示删除所有类型文件,包含隐藏文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
@color 1F & echo off @title Delete 15 Days Ago Files by Desen mode con cols=120 lines=200 cls #日期格式化 for /F "tokens=2 delims='='" %%Y in ('WMIC Path Win32_LocalTime GET Year /VALUE') do ( if "%%Y" NEQ "" (set "Year=%%Y") ) for /F "tokens=2 delims='='" %%M in ('WMIC Path Win32_LocalTime GET Month /VALUE') do ( if "%%M" NEQ "" (set "Month=%%M") ) for /F "tokens=2 delims='='" %%D in ('WMIC Path Win32_LocalTime GET Day /VALUE') do ( if "%%D" NEQ "" (set "Day=%%D") ) set "DT=%Year%-%Month%-%Day%" #移除字符串中所有空格 set "DT=%DT: =%" #英文系统日期 #set DT=%date:~10,4%-%date:~4,2%-%date:~7,2% #中文系统日期 #set DT=%date:~0,4%-%date:~5,2%-%date:~8,2% set DIR1=C:\Users\admin\AppData\Local\Temp set ENV=C:\Windows\system32 # %~dp0 表示脚本所在目录以 \ 结尾 set LOG="%~dp0Del_%DT%.log" echo Start time: %date% %time% >>%LOG% %ENV%\forfiles.exe /P %DIR1% /S /M *.log /D -15 /C "%ENV%\cmd.exe /C echo Find @path" >>%LOG% %ENV%\forfiles.exe /P %DIR1% /S /M *.log /D -15 /C "%ENV%\cmd.exe /C echo Y | del /F /P /A:- @path" >>%LOG% #forfiles 命令参数说明: # /P 表示开始搜索的路径 # /M 根据搜索掩码搜索文件 # /S 递归到子目录 # /C 表示为每个文件执行的命令 # @file 返回文件名 # @fname 返回不带扩展名的文件名 # @ext 只返回文件的扩展名 # @relpath 返回文件的相对路径 # @path 返回文件的完整路径 # /D [{+ | - }] [{MM/DD/YYYY | DD }] # + 日期大于或等于 # - 日期小于或等于 # MM/DD/YYYY 指定的日期 # DD 当前日期+或-指定天数, 如果未指定+或-, 则使用+; DD的有效范围是0~32768. |
文章出自: 本站技术文章均为原创,版权归 "Desen往事 - 个人博客" 所有;部分图片来源于 Yandex ,转载本站文章请注明来源。
本文标题:MS-DOS脚本清理旧日志文件