我已经获得了这段批处理代码:
for /D %%f in (E:\images\*) do E:\jpegoptim.exe -v --strip-all "%%f\*.jpg"
我需要在' do'中添加一个条件。声明,仅对创建日期大于' 2014-01-01'。
的文件运行可执行文件。我知道DIR /T
列出了具有创建日期的文件,但是如何将其集成到我的代码中?有没有办法简单地获得%% f的日期?
答案 0 :(得分:2)
在%%~tx
循环中使用修饰符FOR
。你可以这样做:
@echo off
set $Lim=20140101
setlocal Enabledelayedexpansion
for /f "delims=" %%a in ('dir /s /b/a-d "E:\images\*.txt"') do (
set $FileDate=%%~ta
set $FileDate=!$FileDate:~6,4!!$FileDate:~3,2!!$FileDate:~0,2!
if !$FileDate! Gtr %$Lim% echo E:\jpegoptim.exe -v --strip-all "%%~fa"
)
如果输出正确,请测试并移除echo