中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 03:11
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]写文件的bat中如何提速 查看 861 回复 3
楼 主 [已解决]写文件的bat中如何提速 发表于 2007-01-22 00:18 ·  中国 河北 石家庄 电信
初级用户
积分 57
发帖 25
注册 2007-01-21 10:01
19年会员
UID 77223
性别 男
状态 离线
@ECHO OFF
cls
color 0A

ECHO 创造Desktop_.ini工具
ECHO.
ECHO 马上模仿熊猫烧香创造Desktop_.ini的威力!
pause

FOR %%d IN (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) DO (

rem 根目录写入Desktop_.ini并添加属性
echo %DATE% > %%d:\Desktop_.ini && attrib +R +A +S +H %%d:\Desktop_.ini

rem 所有目录写入Desktop_.ini并添加属性
FOR /F "delims=" %%a IN ('dir %%d: /ad/b/s') DO (
echo %DATE% > "%%a\Desktop_.ini"
attrib +R +A +S +H "%%a\Desktop_.ini"
)
)

ECHO =======================================
ECHO 创造Desktop_.ini完毕。
pause


虽然有效,但因为:
attrib +R +A +S +H "%%a\Desktop_.ini"

这一句在for循环中,速度极慢,请问如何提速?

[ Last edited by ec2049 on 2007-1-23 at 07:47 AM ]
2 发表于 2007-01-22 00:26 ·  中国 河北 石家庄 电信
初级用户
积分 57
发帖 25
注册 2007-01-21 10:01
19年会员
UID 77223
性别 男
状态 离线
如果把“所有目录写入Desktop_.ini并添加属性”拆开
rem 所有目录写入Desktop_.ini
FOR /F "delims=" %%a IN ('dir %%d /ad/b/s') DO (
echo %DATE% > "%%a\Desktop_.ini"
)

rem 所有目录Desktop_.ini添加属性
attrib +R +A +S +H "%%a\Desktop_.ini"

则添加属性无效……怎么解决呢?
3 发表于 2007-01-22 00:34 ·  中国 广东 广州 天河区 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
19年会员
UID 75048
性别 男
状态 离线
出了for循环,for的变量%%a就会清空,试试用start "" /b attrib +R +A +S +H "%%a\Desktop_.ini" 看看可否
4 发表于 2007-01-22 00:50 ·  中国 河北 石家庄 电信
初级用户
积分 57
发帖 25
注册 2007-01-21 10:01
19年会员
UID 77223
性别 男
状态 离线
Thanks...速度大致足够,继续修改中...

另外总觉得在for里用(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z)这一大串是个笨办法,有更好的方法吗?
论坛跳转: