中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 全盘查找指定特性的文件 上一主题 | 下一主题
Mxark
初级用户




积分 64
发帖 30
注册 2007-3-26
状态 离线
『楼 主』:  全盘查找指定特性的文件

请教各位:
全盘查找
大小为:18.1 MB (19,073,327 字节)
修改日期: 2007年11月16日 星期五, 21:22:24的所有文件(*.exe,*.dll,*.txt ...),并将它们复制到d:\new\下.

或者
大小为:18.1 MB (19,073,327 字节)
修改日期: 2007年11月16日  21:22:24的所有*.rar文件,并将它们复制到d:\rar下.

急待解决,那位知道请回帖谢谢~~

[ Last edited by Mxark on 2007-11-23 at 07:24 PM ]

2007-11-19 19:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Mxark
初级用户




积分 64
发帖 30
注册 2007-3-26
状态 离线
『第 2 楼』:  

急待解决,那位知道请回帖谢谢~~

2007-11-20 07:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 3 楼』:  

嘿嘿,等版主来吧~



第一高手    第二高手

2007-11-20 08:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 4 楼』:  

for /f "delims=" %i in ('dir /a-d /s /b *.exe,*.dll,*.txt') do (
if "%~ti" == "2007-11-16 21:22" (set/a 1/^(19073327-%~z^i) 2>nul||echo %i)
)

2007-11-20 09:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ansipeter
中级用户

替身



积分 269
发帖 130
注册 2007-3-23
状态 离线
『第 5 楼』:  

看来这等问题只能等版主前来解决了!....慢慢等吧!唉...............



*讨厌的9527*  
2007-11-20 11:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  

先把标题改了再说。。。

2007-11-20 13:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Mxark
初级用户




积分 64
发帖 30
注册 2007-3-26
状态 离线
『第 7 楼』:  

首先谢谢everest79兄的回复,但是好象没有达到目的...

2007-11-20 15:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 8 楼』:  

那还不对了?

2007-11-20 17:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 9 楼』:  


@echo off
for /r . %%a in (*.*) do if "%%~ta"=="2007-11-16 21:22" if "%%~za"=="19073327" copy "%%a" d:\new\
pause
我也添加一个WMIC 行不?
@echo off
wmic datafile where "extension='rar'" get name,FileSize,LastModified>TEMP
for /f "skip=1 tokens=1,2,3* delims=. " %%a in ('TYPE TEMP') do if "%%a"=="19073327" if "%%b"=="20071116212224" COPY "%%d" "d:\rar\"
pause
[ Last edited by terse on 2007-11-21 at 12:18 AM ]



简单!简单!再简单!
2007-11-20 18:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 10 楼』:  

WMIC
@echo off
for /f "skip=2 tokens=3* delims=," %%i in ('WMIC Path Win32_LogicalDisk Get DeviceID^,FileSystem^,Description /format:csv^|findstr /i /v "英寸 CD-ROM 移动"') do (
       for /f "delims=" %%a in ('dir /s /b /a-d %%i\*.rar') do  (
           if "%%~za"=="19073327" (
           dir /a-d /ta %%a|find "2007-11-16  21:22"
           if "%errorlevel%"=="0" copy /y "%%a" d:\new\
           )
       )
)
pause
不需要WMIC
@echo off
for %%i in (C: D: E: F: G:) do (
       for /f "delims=" %%a in ('dir /s /b /a-d %%i\*.rar') do  (
           if "%%~za"=="19073327" (
           dir /a-d /ta %%a|find "2007-11-16  21:22"
           if "%errorlevel%"=="0" copy /y "%%a" d:\new\
           )
       )
)
pause
[ Last edited by fastslz on 2007-11-20 at 10:57 PM ]

   此帖被 +2 点积分    点击查看详情   
评分人:【 313885174 分数: +2  时间:2008-1-21 10:02




第一高手    第二高手

2007-11-20 22:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Mxark
初级用户




积分 64
发帖 30
注册 2007-3-26
状态 离线
『第 11 楼』:  

首先谢谢各位的解答,terse的第一个代码只有在文件和批处理在一个文件夹下才达到目的,没有实现全盘搜索.第二个可以!fastslz的也行.
万分感激~~
terse、fastslz的代码都实现了rar文件的搜索,但还有个问题,怎么把其他符合要求的文件搜索到并复制呢?,比如还有exe文件,txt(如果存在的话)文件...

[ Last edited by Mxark on 2007-11-21 at 07:05 AM ]

2007-11-21 07:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 12 楼』:  

@echo off
for /f "skip=2 tokens=3* delims=," %%i in ('WMIC Path Win32_LogicalDisk Get DeviceID^,FileSystem^,Description /format:csv^|findstr /i /v "英寸 CD-ROM 移动"') do (
       for /f "delims=" %%a in ('dir /s /b /a-d %%i\*.rar') do  (
           if "%%~za"=="19073327" (
           dir /a-d /ta %%a|find "2007-11-16  21:22"
           if "%errorlevel%"=="0" copy /y "%%a" d:\new\
           )
       )
)
pause

*.rar是扩展名,可以改成*.exe ,*.txt,如果所有文件可以用 *.*
19073327是文件大小
2007-11-16  21:22是修改日期,注意日期和时间中间是2个空格
先判断文件大小再判断修改日期符合常规搜索



第一高手    第二高手

2007-11-21 08:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
laotou
初级用户





积分 25
发帖 12
注册 2006-12-29
状态 离线
『第 13 楼』:  

曾经用vb做过,用批处理也可以做?以前,从没有敢想过。

2007-11-21 08:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 14 楼』:  

改良下能显示匹配大小未匹配时间的文件
@echo off
for /f "skip=2 tokens=3* delims=," %%i in ('WMIC Path Win32_LogicalDisk Get DeviceID^,FileSystem^,Description /format:csv^|findstr /i /v "英寸 CD-ROM 移动"') do (
       for /f "delims=" %%a in ('dir /s /b /a-d %%i\*.rar 2^>nul') do  (
           if "%%~za"=="19073327" (
           dir /a-d /ta %%a|find "2007-11-16  21:22"
           if "%errorlevel%"=="0" copy /y "%%a" d:\new\
           if "%errorlevel%"=="1" echo %%a 匹配大小,但修改日期未匹配!
           )
       )
)
pause



第一高手    第二高手

2007-11-21 09:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Mxark
初级用户




积分 64
发帖 30
注册 2007-3-26
状态 离线
『第 15 楼』:  

谢谢fastslz的解答,我测试了已回复的代码,但都还存在一个问题:
不支持中文目录,我在F:\软件\soft.rar 大小19073327 时间:19073327
运行后在d:\new\下并没有发现soft.rar,于是将soft.rar 复制到F\tt\下并更名为: newsoft.rar,运行后在d:\new\下并没有发现newsoft.rar~~
怎么支持中文目录搜索呢?

[ Last edited by Mxark on 2007-11-21 at 11:04 AM ]

2007-11-21 11:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: