中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 11:30
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何保存多个查询结果 查看 912 回复 8
楼 主 如何保存多个查询结果 发表于 2007-07-30 18:27
初级用户
积分 30
发帖 11
注册 2007-06-11 16:13
19年会员
UID 90977
性别 男
状态 离线

@echo off
for /f "tokens=5" %%i in ('dir ^| find "2007/07/30" ') do set
filename=%%i
echo %filename% && pause


如果目录下有两个以上文件是2007/07/30的,多个文件名怎么都能保存下来?
谢谢

[ Last edited by bjsh on 2007-7-31 at 12:26 AM ]
2 发表于 2007-07-30 19:52 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
是保存在一个变量里?还是文件里?
3 发表于 2007-07-30 20:27
初级用户
积分 30
发帖 11
注册 2007-06-11 16:13
19年会员
UID 90977
性别 男
状态 离线
变量里。
4 发表于 2007-07-30 20:32 ·  中国 广西 南宁 青秀区 电信
初级用户
积分 85
发帖 39
注册 2007-06-28 22:22
19年会员
UID 92624
性别 男
状态 离线
Originally posted by easyboylia at 2007-7-30 08:27 PM:
变量里。

不如先保存在文件中,然后用for一个个提取出来作为变量
5 发表于 2007-07-30 20:46 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
自己测试一下
@echo off
for /f "tokens=5" %%i in ('dir ^| find "2007/07/30" ') do (
set /a n+=1
calll set filename%%n%%=%%i
)
for /l %%n in (1,1,%n%) do call echo %%filename%%n%%
pause


或者使用延时变量

[ Last edited by zh159 on 2007-8-1 at 01:10 AM ]
6 发表于 2007-07-31 20:07
初级用户
积分 30
发帖 11
注册 2007-06-11 16:13
19年会员
UID 90977
性别 男
状态 离线
测试没问题!谢谢。
7 发表于 2007-07-31 21:11 ·  中国 广西 来宾 电信
初级用户
积分 85
发帖 39
注册 2007-06-28 22:22
19年会员
UID 92624
性别 男
状态 离线
Originally posted by zh159 at 2007-7-30 08:46 PM:
自己测试一下
@echo off
for /f "tokens=5" %%i in ('dir ^| find "2007/07/30" ') do (
set /a n+=1
calll set filename%%n%%=%%i
)
for /l %%n (1,1,%n%) do call e ...

保存为22.bat,执行结果如下:

D:\我的文档\桌面>22
此时不应有 (1。

D:\我的文档\桌面>
8 发表于 2007-07-31 21:28
初级用户
积分 30
发帖 11
注册 2007-06-11 16:13
19年会员
UID 90977
性别 男
状态 离线
for /l %%n in (1,1,%n%) do call e ...
9 发表于 2007-08-01 01:10 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by easyboylia at 2007-7-31 21:28:
for /l %%n in (1,1,%n%) do call e ...

漏了个“in”-_-|||
论坛跳转: