中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 19:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何在批处理中模拟像瑞星扫描时列举路径的显示效果?
楼 主 如何在批处理中模拟像瑞星扫描时列举路径的显示效果? 发表于 2006-10-14 22:36 ·  中国 广东 东莞 电信
初级用户
积分 63
发帖 18
注册 2006-09-09 08:41
UID 62219
状态 离线
使用以下代码显示所有文件 显示的文件是一行行的
for /r %%c in (*.*) do echo %%c

我想做到这种效果:
@mode con:cols=80 lines=8
@title 枚举并适时显示
@color 71
@echo 正在枚举中..........
@for /r %%d in (*.*) do @(
@echo %%d >>result.txt && @title %%d
)
@title 枚举并适时显示
@start result.txt
@echo.
@echo OK,完成 正在退出..........
@dir %windir% /a /s>nul
exit

但不是让列举文件显示在标题上 如何让其显示在窗口中呢

(cmd@xp_sp2)
2 发表于 2006-10-14 22:46 ·  中国 山东 淄博 联通
中级用户
★★
积分 272
发帖 99
注册 2006-06-02 09:12
UID 56414
状态 离线
加入cls就行了啊
@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
3 发表于 2006-10-14 23:00 ·  中国 山东 淄博 联通
中级用户
★★
积分 272
发帖 99
注册 2006-06-02 09:12
UID 56414
状态 离线

@echo off
mode con:cols=80 lines=8
title 枚举显示
set tgt=%windir%
for /F "tokens=*" %%i in ('dir %tgt% /A- /B /S') do @(cls && echo %%i && for /L %%k in (1,1,100) do @ver>nul)

刚才那个会无视隐藏文件
这个会看得到的
4 发表于 2006-10-14 23:13 ·  中国 山东 淄博 联通
中级用户
★★
积分 272
发帖 99
注册 2006-06-02 09:12
UID 56414
状态 离线
不过要先等上一会才出结果
5 发表于 2006-10-14 23:21 ·  中国 广东 东莞 电信
初级用户
积分 63
发帖 18
注册 2006-09-09 08:41
UID 62219
状态 离线
呵呵 我真笨 怎么没想到用cls呢

谢谢 my3439955
6 发表于 2006-10-15 14:05 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  我也发一个模拟瑞星扫描的窗口出来: :)


@echo off
mode con cols=100 lines=6
color 34
for /f "tokens=*" %%i in ('dir c:\*.* /b/s/a-d') do (
@title 扫描%%~si>nul && @echo. && @echo 瑞星杀毒系统正在对下列文件进行全面的扫描: && @echo. && @echo %%~fi && ping 127.0.0.1 -n 1 -w 1000>nul 2>nul && cls
)
pause


  
  声明:以上代码仅供学习研究使用,出现任何损失,本人概不负责。


[ Last edited by lxmxn on 2006-10-16 at 04:32 ]
7 发表于 2006-10-15 22:07 ·  中国 黑龙江 佳木斯 电信
初级用户
积分 25
发帖 7
注册 2006-10-13 06:50
UID 65582
状态 离线
大哥能讲一下吗??没太看明白??????????
8 发表于 2006-10-16 01:34 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
Originally posted by lxmxn at 2006-10-15 14:05:

  我也发一个模拟瑞星扫描的窗口出来: :)


@echo off
mode con cols=100 lines=6
color 34
for /f "tokens=*" %%i in ('dir c:\*.* /b/ ...



恭喜 lxmxn,你可发明新东西啦~:)))
我在 Windows Server 2003 上运行这个批处理,
结果好玩的事情发生了:

刚运行了1秒钟后,系统键盘失灵然后突然蓝屏(Server版少见啊),
而且蓝屏以后连我按重启都不行,它自己就重启了,哈哈哈……
这可以做为攻击性的一种代码~:) 顶一个!
(还更奇怪,重启以后我回来找那个我存的 a.bat 这个文件,居然没了!!!)
(为什么文件为没?存过盘的,执行了以后虽蓝屏重启,但这个被执行的文件没了?哈哈)

(顶!!!!如果这现象可以重复多次发生,那么足可以做为攻击别人的文件自杀方法,哈哈)



我觉得很奇怪,于是开启虚拟机(VMWare PC),环境也是WIN2003版。
结果又试了一遍,蓝屏D机:)哈哈哈……

虚拟机D机蓝屏的窗口我截图了,大家研究吧:)



lxmxn留好这个伟大的发明:)))
对了,我那个虚拟机上的所有上面DIR列出来的文件约为7万多个。
会不会因为 for获得的文件数量太多而溢出?
附件
1.JPG
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
9 发表于 2006-10-16 01:56 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
第6次实验……

环境:虚拟机 WIN2003服务器版,内存800MB



@echo off
mode con cols=100 lines=6

pause

color 34

pause

for /f "tokens=*" %%i in ('dir e:\*.* /b/s/a-d') do (
@title 扫描%%~si>nul && @echo. && @echo 瑞星杀毒系统正在对下列文件进行全面的扫描: &&
@echo. && @echo %%~fi && ping 127.0.0.1 -n 2 -w 1000>nul 2>nul && cls
)
pause



这回我换成了E盘,我E盘几乎是空的,才有1500多个文件,1千多个文件不算多。


程序运行过程中非常好,约2秒显示一个文件名。

但是,我实在等不了,约等了它显示了10个文件名以后(才10个!!!),
然后CTRL+C终止程序。

可以被终止,然后我想再重新试验一次,于是 EXIT 命令退出这个DOS窗口,
又奇怪的事情发生了,能正常退出。表面上看没什么问题,但是……

我想再次实验一次,又重新运行CMD,这回没反应了,3秒后蓝屏出现!!!
哈哈……
(有兴趣的可以试试,顶多蓝屏重启~:)

[ Last edited by redtek on 2006-10-16 at 02:01 ]
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
10 发表于 2006-10-16 02:21 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
楼上的实验不可再现。我试了n次都没发现有这个问题

而且不是没两秒显示一个,是一秒显示3个

[ Last edited by electronixtar on 2006-10-16 at 02:22 ]

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
11 发表于 2006-10-16 02:52 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
你 copy con a.bat 的方式还存盘,试一下,硬盘文件不少于几千。
(拷贝6楼代码)
一定要copy con 方式存。

另,我又试了几遍,用notepad.exe存或是copy con 方式建立文件,然后直接DOS窗口内粘,粘以后再用notepad.exe 打开,打开后打个空格再存一下,
就没有问题。

如果直接DOS窗口copy con 方式建文件,然后直接粘,CTRL+Z存盘,
又试了一次,然后等了1分钟,然后终止窗口。
终止以后再进CMD就进不去了,点桌面上的批处理快捷方式也进不去了,
CMD不再执行,这回没蓝屏。
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
12 发表于 2006-10-16 03:15 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
UID 63170
来自 广东深圳
状态 离线
Originally posted by redtek at 2006-10-16 01:56:
第6次实验……

环境:虚拟机 WIN2003服务器版,内存800MB



@echo off
mode con cols=100 lines=6

pause

color 34

pause

for /f &qu ...



我也试了.本人计算机系统XP+SP2
显示了快10000个文件时,没耐心等了.就直接按CTRL+C停了.(可是一停就重启)
于是我又试了第二次,这次我就直接关了..也是一样,(重启)!!!
13 发表于 2006-10-16 03:43 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
难道说,这就是,传说中的,dir 溢出?
哈哈哈哈哈哈哈……………………………………………………

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
14 发表于 2006-10-16 04:01 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
redtek
你直接在cmd里试试这个看会死机不?


dir /a-d /b /s C:\*.*

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
15 发表于 2006-10-16 04:04 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
会不会是那个被多次定向到NUL造成的?
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
论坛跳转: