中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-15 18:07
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 这两个枚举批处理有什么不一样 查看 1,398 回复 7
楼 主 这两个枚举批处理有什么不一样 发表于 2006-12-20 22:51 ·  中国 湖南 娄底 电信
初级用户
积分 28
发帖 11
注册 2006-11-05 21:22
UID 69699
性别 男
状态 离线
@echo off
@mode con:cols=80 lines=8
@title 枚举并适时显示
@color 71
@echo 正在枚举中..........
@for /r %%d in (*.*) do @(
@echo %%d >>result.txt && @(cls && echo%%d)
)
@title 枚举并适时显示
@start result.txt
@echo.
@echo OK,完成 正在退出..........
@dir %windir% /a /s>nul
exit

下面这个是我改的
@echo off
@mode con:cols=80 lines=8
@title 枚举并适时显示
@color 71
@echo 正在枚举中..........
@for /r %%d in (*.*) do @(
@echo %%d >>result.txt
)
@title 枚举并适时显示
@start result.txt
@echo.
@echo OK,完成 正在退出..........
exit

另外怎样才能使生成的result.txt 中的文件不显路径
2 发表于 2006-12-21 09:58
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
UID 69523
性别 男
状态 离线
1,上面的那个就是多了一句 && @(cls && echo%%d) ,这样就会在输出到result.txt文件的同时也在屏幕上显示正在枚举的文件名.
2,想不显示路径可以用%%~nxd,另外最好加一个对result.txt文件做个删除处理.
代码如下:


@echo off
@mode con:cols=80 lines=8
@title 枚举并适时显示
@color 71
@echo 正在枚举中..........
if exist result.txt @del result.txt /f/q
@for /r %%d in (*.*) do @(
@echo %%~nxd >>result.txt && @(cls && echo%%~nxd)
)
@title 枚举并适时显示
@start result.txt
@echo.
@echo OK,完成 正在退出..........
@dir %windir% /a /s>nul
exit


[ Last edited by hxuan999 on 2006-12-20 at 10:00 PM ]
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
3 发表于 2006-12-21 11:22 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  最后一句"dir %windir% /a /s>nul"是延时的作用么?
4 发表于 2006-12-22 01:44
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
UID 69523
性别 男
状态 离线
是的,这样就可以在执行EXIT前看到 OK,完成 正在退出.......... 而不是一闪而过了.
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
5 发表于 2006-12-22 02:29 ·  中国 湖南 娄底 电信
初级用户
积分 28
发帖 11
注册 2006-11-05 21:22
UID 69699
性别 男
状态 离线
谢谢hxuan999老兄了
6 发表于 2006-12-22 02:38 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
hxuan999兄 “@dir %windir% /a /s>nul” 这句用得又有创意又好玩~:)
欣赏~~
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
7 发表于 2006-12-22 23:05
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
UID 69523
性别 男
状态 离线
哦,那是楼主给的程序中就有的.呵呵
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
8 发表于 2006-12-22 23:18 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  如果这样,那延迟的方法不是很多了?
论坛跳转: