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


  Quote:
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


  Quote:
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


  Quote:
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


  Quote:
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"}}