标题: 求遍历全盘查找某天生成的所有文件
[打印本页]
作者: 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"}}