中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 11:12
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何查找最新文件,并提取名字中的数字部分和文件大小
可打印版本  996 / 6
第1楼 yjwx18 发表于 2007-07-12 13:14
新手上路 发帖 5 积分 12
如何查找最新文件,并提取名字中的数字部分和文件大小
我想找到文件夹内最晚生成的文件,和它名字中的数字部分和大小作为2个referrence 来运行一个exe file , 以下的找文件大小和伏值的 batch 为什么不对呢?我该怎么做呢?忙了一天了,谢谢高手拉 @_@

setlocal enabledelayedexpansion

set /a "filesize=0"
set /a "filedate=0"


for %%i in (dir /b /od c:\T*a.log) do (
if %%~ti gtr filedate (
set filesize=%%~zi
)

echo %filesize%
)

[ Last edited by bjsh on 2007-7-31 at 12:56 AM ]
第2楼 dikex 发表于 2007-07-12 13:21
高级用户 发帖 366 积分 788
echo !filesize!
第3楼 yjwx18 发表于 2007-07-12 15:22
新手上路 发帖 5 积分 12
还是不行啊
第4楼 yjwx18 发表于 2007-07-12 15:54
新手上路 发帖 5 积分 12
就是我的文件夹里有很多 T*a.log 的文件,中间是6位的数字,我需要调用同文件夹里的一个fix.exe 的文件,这个文件需要调用最新的.log 文件名中的数字和他log 文件的的大小。

比如 最新一个log 文件是 T001234a.log size: 111123
我想让batch 运行 fix.exe 001234 111123
怎么能实现呢?
现在主要是不知道怎么把文件的size 保存到一个变量里,哪位高手帮帮忙啊?小弟有理了 : D
第5楼 wudixin96 发表于 2007-07-12 17:29
银牌会员 发帖 931 积分 1,928
%%~ti gtr filedate

这里应该是%%~ti gtr !filedate!

其他没看
第6楼 wudixin96 发表于 2007-07-12 17:35
银牌会员 发帖 931 积分 1,928
%%~ti 的格式是年月日 时间

如:2007-03-25 23:54

而filedate的格式是数值。如何比较
第7楼 yjwx18 发表于 2007-07-12 18:10
新手上路 发帖 5 积分 12
o ,@_@ 谢啦
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023