如何用命令或批处理语句对文件按创建时间进行筛选?

说白了我就是想,用给定个时间值,对一个文件夹下的所有文件进行比对,大于这个时间的取出来。... 说白了我就是想,用给定个时间值,对一个文件夹下的所有文件进行比对,大于这个时间的取出来。 展开
 我来答
yyykkkyyyy
2011-08-07 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3297万
展开全部
取出来?说得不具体,大概是想看批处理怎么写, 命令行筛选不了,我设想一个模式你参考
文件时间是按创建时间,(如按最后修改时间把dir/tc的/tc去掉)预定的时间必须严格按代码中的格式写,可以根据精度省去不必要的部分,比如只写年,但写出来的部分必须是按格式,比如空格数,添0等
运行可用两种方式进行,1把要处理的文件夹拖到批处理图标上.2直接双击运行(处理的批处理文件所在文件夹),运行后会在批处理文件位置建一个new文件夹把符合条件的文件复制进去
@echo off&title 复制...
set ft=2011-05-06 09:30
set dd=new
set dd=%~dp0%dd%
if "%~1"=="" (set "ds=%~dp0")else set ds=%~1
if not exist "%dd%\" md "%dd%"
cd/d "%ds%"
for /f "tokens=1-3*" %%a in ('dir/tc/a-d/od^|more +5^|find/v "字节"')do (
if not "%%d"=="%~nx0" if "%%a %%b" geq "%ft%" (
copy "%%d" "%dd%\">nul&echo %%d&set/a n+=1))
if defined n (echo 共复制 %n% 个文件)else echo 未找到满足条件的文件
ping -n 2 127.1>nul
start "" "%dd%"
JooKin
2011-08-10 · TA获得超过687个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:381万
展开全部
只是个参考:
@echo off
set/p x=输入时间(mm-dd-yy):
(xcopy /y/c/d:%x% "c:\a" "e:\b\" >nul 2>nul)||echo 源目录不存在或输入的时间不合法!
for %%i in (e:\b\*) do (echo %%~ti|findstr /v "%x:~-4%-%x:~,-5%"&&del /f "%%~i")
explorer e:\b\
pause
::上面针对于修改时间
::已更改

另外一条思路就是通过(dir /tc /a-d c:\a\*)|sort|more +7配合if,for来实现。。具体的命令就不写了。。授之以鱼不如授之已渔。。自己动手收获更多。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式