中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-13 18:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 论坛上看到全盘搜索指定日期代码,请高手修改一下!
楼 主 论坛上看到全盘搜索指定日期代码,请高手修改一下! 发表于 2008-03-06 12:30 ·  中国 山东 济南 联通
高级用户
★★★
积分 959
发帖 474
注册 2007-10-25 10:40
UID 100716
性别 男
状态 离线
在论坛上看到一段代码!请高手改一下!查到文件后,指明路径,下面这段代码查到文件后没有指明路径!
cd\&dir/a/s/tc *.exe|findstr /bc:"2008-03"

[ Last edited by 5872169 on 2008-3-6 at 12:40 PM ]
2 发表于 2008-03-06 13:13 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
UID 103127
性别 男
状态 离线
请到我的那个帖子跟帖我给你详细解释
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
3 发表于 2008-03-13 18:19 ·  中国 广西 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
UID 103929
性别 男
来自 广西
状态 离线
不知道是不是你想要的:

@echo off
setlocal enabledelayedexpansion
for %%a in (c d e f) do (
for /f "delims=" %%i in ('dir /s /a-d "%%a:\*.exe"^|findstr "2008-03"') do (
set aa="%%~dpnxi"
echo !aa!
)
)
4 发表于 2008-03-13 18:36 ·  中国 广西 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
UID 103929
性别 男
来自 广西
状态 离线
噢,不行! 测试后发现列出来的目录是运行批处理的目录.
5 发表于 2008-03-13 19:04 ·  中国 广西 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
UID 103929
性别 男
来自 广西
状态 离线
这个测试通过了:

@echo off
echo.
for %%a in (c d e f) do (
for /f "tokens=1,3* delims= " %%i in ('dir /s /a-d /tc "%%i:\*.exe"^|findstr "2008-03"') do (
dir /s /b /a-d /tc "%%a:\%%k"
)
)
echo.&pause
6 发表于 2008-03-13 19:15 ·  中国 山东 济南 联通
高级用户
★★★
积分 959
发帖 474
注册 2007-10-25 10:40
UID 100716
性别 男
状态 离线
moniuming,没有通过测试,提示目录名和卷标语法不正确!!

[ Last edited by 5872169 on 2008-3-13 at 07:16 PM ]
7 发表于 2008-03-13 19:58 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
UID 42345
状态 离线
@echo off&setlocal enabledelayedexpansion
for %%a in (c d e f) do for /f "delims=" %%i in ('dir /s /b /a-d "%%a:\*.exe"') do set t=%%~ti&if "!t:~0,7!" == "2008-03" echo %%~fi
)
pause
简单!简单!再简单!
8 发表于 2008-03-13 21:48 ·  中国 山东 济南 联通
高级用户
★★★
积分 959
发帖 474
注册 2007-10-25 10:40
UID 100716
性别 男
状态 离线
terse,测试成功了,但是如果输入2008-03-13就不行了!
9 发表于 2008-03-13 22:00 ·  中国 广西 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
UID 103929
性别 男
来自 广西
状态 离线
在我的机子上运行通过了,这是我的测试代码:

@echo off
echo.
for %%a in (c d e f) do (
for /f "tokens=1,3* delims= " %%i in ('dir /s /a-d /tc "%%a:\*.exe"^|findstr "2008-03"') do (
dir /s /b /a-d /tc "%%a:\%%k"
)
)
echo.&pause


运行结果:

F:\test\more\新建文件夹>查找指定时间创建的文件并列出路径.bat

c:\WINDOWS\system32\gawk.exe
c:\WINDOWS\system32\winclip.exe
c:\WINDOWS\system32\taskmgr.exe
c:\Documents and Settings\aa\「开始」菜单\程序\启动\taskmgr.exe
d:\Program Files\360safe\360safeup.exe
d:\Program Files\360safe\SoftMgr\esslibupdate.exe
d:\Program Files\eMule\update\eMule-0.48a-VeryCD080126-Update.exe
d:\Program Files\kof1.0\kof1.0.exe
d:\Program Files\Maxthon2\_Maxthon.exe
d:\Program Files\Tencent\QQ\QQPlayerSvr.exe
d:\Program Files\Thunder\Program\Update\PPlayerSetup_1.2.8.122_20080306.exe
d:\Program Files\Thunder\Program\Update\UpdateStreamMedialib_20080311.exe
d:\test\ActiveMouse.exe
e:\RECYCLER\S-1-5-21-220523388-1004336348-725345543-1003\De16.exe
e:\安装程序\Adobeflashplayer.exe
f:\test\可执行文件当服务运行\runassrv.exe
...
10 发表于 2008-03-13 22:02 ·  中国 广西 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
UID 103929
性别 男
来自 广西
状态 离线
又没看到刷新的内容,晕
terse的代码只显示到月份的
11 发表于 2008-03-13 22:09 ·  中国 山东 济南 联通
高级用户
★★★
积分 959
发帖 474
注册 2007-10-25 10:40
UID 100716
性别 男
状态 离线
moniuming,我现在试了一下,测试通过了
12 发表于 2008-03-13 22:09 ·  中国 广西 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
UID 103929
性别 男
来自 广西
状态 离线
我发现五楼代码的问题了:
for /f "tokens=1,3* delims= " %%i in ('dir /s /a-d /tc "%%i:\*.exe"^|findstr "2008-03"') do (
红色部分应为%%a
13 发表于 2008-03-14 01:21 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
UID 42345
状态 离线
Originally posted by 5872169 at 2008-3-13 21:48:
terse,测试成功了,但是如果输入2008-03-13就不行了!

你把 !t:~0,7! 改为 !t:~0,10! 试
简单!简单!再简单!
14 发表于 2008-03-14 17:46 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
UID 103127
性别 男
状态 离线
Originally posted by terse at 2008-3-13 07:58 PM:
@echo off&setlocal enabledelayedexpansion
for %%a in (c d e f) do for /f "delims=" %%i in ('dir /s /b /a-d "%%a:\*.exe"') do set t=%%~ti&if "!t:~0,7!" == &quo ...


%~fi得到的不是查找文件的 真实路径.
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
15 发表于 2008-03-14 22:57 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
UID 42345
状态 离线
Originally posted by plp626 at 2008-3-14 17:46:


%~fi得到的不是查找文件的 真实路径.

你那边得到的什么路径?
我这里的是!
c:\WINDOWS\Installer\{A9FF0492-05E5-F426-3104-3DDA813E2E23}\ARPPRODUCTICON.exe
c:\WINDOWS\Installer\{C5F2DBF1-6A08-39D2-9871-BF8F29F73C88}\ARPPRODUCTICON.exe
c:\WINDOWS\Installer\{C849D7B5-DCE7-9080-687E-CF5D3D535190}\ARPPRODUCTICON.exe
c:\WINDOWS\Installer\{D63B08C9-50B9-D513-083C-BF9310149C35}\ARPPRODUCTICON.exe
d:\Desktop\WinMount_setup.exe
d:\Desktop\CrabFLV\CrabFLV.exe
d:\Temp\HKFX2008__OK.exe
e:\Program Files\360\uninst.exe
e:\Program Files\360\SoftMgr\esslibupdate.exe
e:\Program Files\VPP3\pp31setup.exe
e:\Program Files\VPP3\Update\pp31setup.exe
f:\Program Files\utorrent\utorrent.exe
简单!简单!再简单!
论坛跳转: