![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 08:37 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]如何把dir的结果分页显示出来? |
| 可打印版本 1,395 / 13 |
| 第1楼 LQDi1982 | 发表于 2009-02-10 17:02 |
| 新手上路 发帖 14 积分 14 | |
|
[已结]如何把dir的结果分页显示出来? 昨天注册的号,今天终于能发帖了,在不能发帖的时间也搜索了好多帖子,解决了很多问题,在此多谢各位前辈高人了。但是还有个问题却没找到答案:
如题 我使用如上命令将该目录下的txt文件名显示出来,现请教一下: 1.能否让一行显示多个结果且能对齐? 2.如果txt文件太多的话能否分页显示,每次显示一定的条数后就暂停? [ Last edited by HAT on 2009-2-12 at 03:06 ] |
|
| 第2楼 LQDi1982 | 发表于 2009-02-10 17:15 |
| 新手上路 发帖 14 积分 14 | |
|
set num=1
for /f "tokens=*" %%a in ('dir /b *.txt') do ( echo 日记名称:%%~na set /a num=%num%+1 echo %num% if num==5 pause>nul ) 刚试了下这个,还是不行,echo %num%出来的结果总是1,请教下高手,这是什么原因? |
|
| 第3楼 yishanju | 发表于 2009-02-10 17:31 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
dir /w /p /a:-d *.txt
|
|
| 第4楼 yishanju | 发表于 2009-02-10 17:32 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
dir /d /p /a:-d *.txt
|
|
| 第5楼 mountvol | 发表于 2009-02-10 17:38 |
| 初级用户 发帖 117 积分 186 | |
|
变量延迟
|
|
| 第6楼 LQDi1982 | 发表于 2009-02-10 18:33 |
| 新手上路 发帖 14 积分 14 | |
|
2楼3楼的试了不行哇。
5楼的,能否具体点? |
|
| 第7楼 zhengqian529 | 发表于 2009-02-10 18:40 |
| 初级用户 发帖 93 积分 100 来自 湖南 | |
| 第8楼 LQDi1982 | 发表于 2009-02-10 18:49 |
| 新手上路 发帖 14 积分 14 | |
|
我用了setlocal enabledelayedexpansion还是不行哇。num的值还是没变。
|
|
| 第9楼 netbenton | 发表于 2009-02-10 22:12 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
每行显示三个,20行pause
echo off&setlocal enabledelayedexpansion set num=1 for /f "tokens=*" %%a in ('dir /b *.txt') do ( set /a num+=1,next=num%%3 if !next!==0 echo.&set /p= !num! <nul set /p= 日记名称:%%~na <nul if num==60 pause>nul ) [ Last edited by netbenton on 2009-2-10 at 20:14 ] |
|
| 第10楼 不得不爱 | 发表于 2009-02-10 22:31 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
楼上的if num==60 pause>nul
可能会错错吧? 应该改为 if !num!==60 pause>nul |
|
| 第11楼 netbenton | 发表于 2009-02-10 22:35 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
:lol: :p![]() ![]() 是呀,搞错了 不好意思,还没试过呢 |
|
| 第12楼 yishanju | 发表于 2009-02-10 23:03 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
setlocal enabledelayedexpansion
set num=1 for /f "tokens=*" %%a in ('dir /b *.txt') do ( echo 日记名称:%%~na set /a num=!num!+1 echo !num! if !num! equ 5 pause>nul ) pause |
|
| 第13楼 LQDi1982 | 发表于 2009-02-12 01:45 |
| 新手上路 发帖 14 积分 14 | |
|
多谢各位了。忙了两天,今天晚上住的地方也能上网了,开心得一B,急忙上来看看。试下楼上几位大侠提供的方法先。
|
|
| 第14楼 LQDi1982 | 发表于 2009-02-12 02:02 |
| 新手上路 发帖 14 积分 14 | |
|
搞定了,严重感谢各位提供的帮助。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |