中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 20:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教关于如何取DIR列出文件名中第N行数据? 查看 798 回复 7
楼 主 请教关于如何取DIR列出文件名中第N行数据? 发表于 2007-12-07 16:29 ·  中国 安徽 合肥 电信
新手上路
积分 10
发帖 4
注册 2007-12-07 15:15
18年会员
UID 104982
性别 男
状态 离线
我使用
for /f "delims=" %%i in ('dir/a:a /b /o:-d *.log') do echo %%i
取出当前目录中的文件名,我现在如果想要取出第2行中的文件名应该如何处理?

请各位指教,谢谢!
2 发表于 2007-12-07 16:43 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
echo j%%
3 发表于 2007-12-07 16:45 ·  中国 安徽 合肥 电信
新手上路
积分 10
发帖 4
注册 2007-12-07 15:15
18年会员
UID 104982
性别 男
状态 离线
Originally posted by huahua0919 at 2007-12-7 04:43 PM:
echo j%%


请指教,没明白什么意思
4 发表于 2007-12-07 16:45 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
@echo off
set a=0
for /f "delims=" %%i in ('dir/a:a /b /o:-d *.log') do (
set/a a+=1
if equ 2 echo %%i
pause
)
5 发表于 2007-12-07 16:46 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
if !a! equ 2 echo %%i
开变量延迟
6 发表于 2007-12-07 16:51 ·  中国 安徽 合肥 电信
新手上路
积分 10
发帖 4
注册 2007-12-07 15:15
18年会员
UID 104982
性别 男
状态 离线
谢谢楼上的,我这里运行后,没有输出文件名。用下面的代码想看一下a的值,发现值为0.

@echo off
set a=0
for /f "delims=" %%i in ('dir/a:a /b /o:-d *.log') do (
set/a a+=1
echo %a%
if !a! equ 2 echo %%i echo %a%
)
7 发表于 2007-12-07 16:59 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
我说了开变量延迟啊,
@echo off
for /f "skip=1 tokens=* delims=" %%i in ('dir/a:a /b /o:-d *.log') do echo %%i&pause

还有查看你的代码
'dir/a:a /b /o:-d *.log'
8 发表于 2007-12-07 17:07 ·  中国 安徽 合肥 电信
新手上路
积分 10
发帖 4
注册 2007-12-07 15:15
18年会员
UID 104982
性别 男
状态 离线
谢谢,不好意思,新手,不懂啥叫变量延迟,还是后来百度了一下才明白,谢谢。
论坛跳转: