Board logo

标题: 求遍历全盘查找某天生成的所有文件 [打印本页]

作者: freeapple     时间: 2006-12-14 11:47    标题: 求遍历全盘查找某天生成的所有文件
如题,小弟初学批处理不知能否实现.

作者: lxmxn     时间: 2006-12-14 12:49
  可以实现,搜索一下论坛的帖子就有很多。

作者: freeapple     时间: 2006-12-15 08:57
没有没代码贴上来来呢?不好找额!!!!!!!

作者: lxmxn     时间: 2006-12-15 12:39
  如果支持WMIC的话,可以使用下面的代码,查找过程可能比较漫长。
::code by lxmxn @ cn-dos.net
::全盘搜索指定日期生成的文件。
@echo off&setlocal enabledelayedexpansion
echo\&echo/
echo;
set /p date_=请输入要查找的文件生成日期,格式为纯数字,比如 20061214 ,代表2006年12月14日:
set db=%date_%000000.000000+480
set da=%date_%235959.000000+480
for /f "delims=" %%i in ('fsutil fsinfo drives^|find /v ""') do (
    set var=%%i
    set drive=!var:~-2!
    fsutil fsinfo drivetype !drive!|find "固定" >nul&& (
    call :info
    wmic datafile where "drive='!drive!' and creationdate>='%db%' and creationdate<='%da%'" get name,creationdate
    set /p choose=在 !drive! 盘查找完毕,查找过程长,是否继续查找?【Y】/【N】
    if /i not "!choose!"=="Y" goto :eof
	)
 )
goto :eof

:info
    cls
    echo\&echo 正在 !drive! 盘查找%date_:~0,4%年%date_:~4,2%月%date_:~6,2%日生成的所有文件,查找过程可能需要很长时间,请耐心等待……
    goto :eof

作者: freeapple     时间: 2006-12-15 15:34
谢谢 lxmxn 论坛里的好同志^_^

作者: regvip2008     时间: 2008-3-5 14:59
Originally posted by lxmxn at 2006-12-15 12:39 PM:   如果支持WMIC的话,可以使用下面的代码,查找过程可能比较漫长。[code] ::code by lxmxn @ cn-dos.net ::全盘搜索指定日期生成的文件。 ...
小弟想请教下版主: set db=%date_%000000.000000+480 set da=%date_%235959.000000+480 这两句是啥意思?谢谢!

作者: HAT     时间: 2008-3-5 17:00
Originally posted by regvip2008 at 2008-3-5 02:59 PM: 小弟想请教下版主: set db=%date_%000000.000000+480 set da=%date_%235959.000000+480 这两句是啥意思?谢谢!
自己运行一下这个命令就知道版主为什么那样写了 wmic datafile where "Name='c:\\test\\hello.txt'" get CreationDate,FileName

作者: plp626     时间: 2008-3-6 09:50
粘贴到命令行下试试:
@echo off
for /f "skip=1" %a in ('wmic logicaldisk where "drivetype=3"') do dir/a/tc/s %a\|findstr /b "%date:~,10%"|sort|findstr /ve \.

作者: regvip2008     时间: 2008-3-12 16:24
Originally posted by HAT at 2008-3-5 05:00 PM: 自己运行一下这个命令就知道版主为什么那样写了 wmic datafile where "Name='c:\\test\\hello.txt'" get CreationDate,FileName
非常感谢HAT兄的回复!问题解决了!

作者: regvip2008     时间: 2008-3-12 16:26
Originally posted by plp626 at 2008-3-6 09:50 AM: 粘贴到命令行下试试: [code]@echo off for /f "skip=1" %a in ('wmic logicaldisk where "drivetype=3"') do dir/a/tc/s %a\|findstr /b "%date:~,10%"|sort|findstr ...
请问plp626兄,能否解释下上面那条词句的意思?

作者: SpikeKnox     时间: 2008-3-12 17:20    标题: 如果有PowerShell
Get-PSDrive -PSProvider FileSystem | %{dir -r $_.Root | where {$_.LastWriteTime -match "2008.02.18"}}