Board logo

标题: [已解决]写文件的bat中如何提速 [打印本页]

作者: ec2049     时间: 2007-1-22 00:18    标题: [已解决]写文件的bat中如何提速
@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 ]

作者: ec2049     时间: 2007-1-22 00:26
如果把“所有目录写入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"

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

作者: dikex     时间: 2007-1-22 00:34
出了for循环,for的变量%%a就会清空,试试用start "" /b attrib +R +A +S +H "%%a\Desktop_.ini" 看看可否

作者: ec2049     时间: 2007-1-22 00:50
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)这一大串是个笨办法,有更好的方法吗?