中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]写文件的bat中如何提速
作者:
标题: [已解决]写文件的bat中如何提速 上一主题 | 下一主题
ec2049
初级用户





积分 57
发帖 25
注册 2007-1-21
状态 离线
『楼 主』:  [已解决]写文件的bat中如何提速 使用 LLM 解释/回答一下

@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 ]


2007-1-22 00:18
查看资料  发短消息  网志   编辑帖子  回复  引用回复
ec2049
初级用户





积分 57
发帖 25
注册 2007-1-21
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

如果把“所有目录写入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"

则添加属性无效……怎么解决呢?


2007-1-22 00:26
查看资料  发短消息  网志   编辑帖子  回复  引用回复
dikex
高级用户

潜水修练批处理



积分 788
发帖 366
注册 2006-12-31
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

出了for循环,for的变量%%a就会清空,试试用start "" /b attrib +R +A +S +H "%%a\Desktop_.ini" 看看可否


2007-1-22 00:34
查看资料  发短消息  网志   编辑帖子  回复  引用回复
ec2049
初级用户





积分 57
发帖 25
注册 2007-1-21
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

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)这一大串是个笨办法,有更好的方法吗?


2007-1-22 00:50
查看资料  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: