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