Dav*_*ave 40
刚刚发现了这个forfiles命令.
forfiles /s /m *.log /d -7 /c "cmd /c echo @path"
Run Code Online (Sandbox Code Playgroud)
将在所有子目录中列出已修改超过七天的所有日志文件,但它似乎不会查看创建日期.它确实支持指定特定日期.
有关详情forfiles /?,请参阅.
dir本身不能按日期筛选,但是您可以解析dirusing for命令的输出。如果在您的国家/地区dir以YMD格式打印日期,则只需将其与给定日期进行比较。如果日期部分的顺序不同,则必须使用另一个for命令来解析日期并将其更改为YMD。这将显示2月5日之后修改的文件列表。
@Echo Off
for /f "usebackq tokens=1,4 skip=5" %%A in (`dir /-c`) do (
if %%A GTR 2012-02-05 echo %%A %%B
)
Run Code Online (Sandbox Code Playgroud)
if执行标准的字符串比较,因此,如果摘要行通过比较,则最后可以得到其他行。为了避免这种情况,您可以使用if %%A GTR 2012-02-05 if exist %%B echo %%A %%B
编辑:还有一种更好的方法可以避免解析dir输出,还可以按时间搜索,而不仅按日期搜索:
@Echo Off
for /r %%A in (*) do (
if "%%~tA" GTR "2012-02-05 00:00" echo %%~tA %%A
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84020 次 |
| 最近记录: |