Board logo

标题: 如何保存多个查询结果 [打印本页]

作者: easyboylia     时间: 2007-7-30 18:27    标题: 如何保存多个查询结果


@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 ]
作者: wudixin96     时间: 2007-7-30 19:52
是保存在一个变量里?还是文件里?
作者: easyboylia     时间: 2007-7-30 20:27
变量里。
作者: wjh6088     时间: 2007-7-30 20:32


  Quote:
Originally posted by easyboylia at 2007-7-30 08:27 PM:
变量里。

不如先保存在文件中,然后用for一个个提取出来作为变量
作者: zh159     时间: 2007-7-30 20:46
自己测试一下
@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 ]
作者: easyboylia     时间: 2007-7-31 20:07
测试没问题!谢谢。
作者: wjh6088     时间: 2007-7-31 21:11


  Quote:
Originally posted by zh159 at 2007-7-30 08:46 PM:
自己测试一下
[code]@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,执行结果如下:

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

D:\我的文档\桌面>


作者: easyboylia     时间: 2007-7-31 21:28
for /l %%n in (1,1,%n%) do call e ...
作者: zh159     时间: 2007-8-1 01:10


  Quote:
Originally posted by easyboylia at 2007-7-31 21:28:
for /l %%n in (1,1,%n%) do call e ...

漏了个“in”-_-|||