如题,小弟初学批处理不知能否实现.
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
::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
Originally posted by lxmxn at 2006-12-15 12:39 PM:
如果支持WMIC的话,可以使用下面的代码,查找过程可能比较漫长。
::code by lxmxn @ cn-dos.net
::全盘搜索指定日期生成的文件。
...
Originally posted by regvip2008 at 2008-3-5 02:59 PM:
小弟想请教下版主:
set db=%date_%000000.000000+480
set da=%date_%235959.000000+480
这两句是啥意思?谢谢!
@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 \.Originally posted by HAT at 2008-3-5 05:00 PM:
自己运行一下这个命令就知道版主为什么那样写了
wmic datafile where "Name='c:\\test\\hello.txt'" get CreationDate,FileName
Originally posted by plp626 at 2008-3-6 09:50 AM:
粘贴到命令行下试试:
@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 ...