找回密码
 加入
搜索
查看: 1481|回复: 3

关于变量和宏等参数在命令里的表达形式

[复制链接]
发表于 2009-6-20 17:07:11 | 显示全部楼层 |阅读模式
本人刚开始学AU3,学习过程中遇到了难点,我用批处理做的东西用AU3来做,却没达到效果。
比如清理系统垃圾,以下是我的代码。
dim $lj[23],$i,$dd
FileInstall("f:\clean","c:\windows\system32\clean.reg",1)
$lj[1]=@WindowsDir&"\SoftwareDistribution\*.*"
$lj[2]=@HomeDrive&"\*.tmp"
$lj[3]=@HomeDrive&"\*._mp"
$lj[4]=@HomeDrive&"\*.log"
$lj[5]=@HomeDrive&"\*.gid"
$lj[6]=@HomeDrive&"\*.chk"
$lj[7]=@HomeDrive&"\*.old"
$lj[8]=@HomeDrive&"\recycled\*.*"
$lj[9]=@WindowsDir&"\*.bak"
$lj[10]=@WindowsDir&"\prefetch\*.*"
$lj[11]=@UserProfileDir&"\cookies\*.*"
$lj[12]=@UserProfileDir&"\recent\*.*"
$lj[13]=@UserProfileDir&"\Local Settings\Temporary Internet Files\*.*"
$lj[14]=@TempDir&"\*.*"
$lj[15]=@UserProfileDir&"\recent\*.*"
$lj[0]=22
$lj[16]=@WindowsDir&"\$*"
$lj[17]=@HomeDrive&"\Driver"
$lj[18]=@HomeDrive&"\Drivers"
$lj[19]=@ProgramFilesDir&"\360\360Safe\hotfix"
$lj[20]=@WindowsDir&"\temp"
$lj[21]=@TempDir
$lj[22]=@WindowsDir&"\temp"
ProgressOn("Progress Meter", "Increments every second")
For $i = 0 to 22
        switch $i
                case 0 to 0
        run(@comspec&" /c regedit /s c:\windows\system32\clean.reg","",@SW_HIDE)
        FileRecycleEmpty()
case 1 to 15
        FileDelete($lj[0+$i])
case 16 to 21
        DirRemove($lj[0+$i],1)
case 22 to 22
        DirCreate($lj[$i])
        EndSwitch
                next
ProgressSet(100 , "Done", "Complete")
sleep(1500)
ProgressOff()
运行后有些代码应该是运行不正常。
filedelete("")这个里面用系统宏设置运行没反应,
比如filedelete(@tempdir&"\*.*"),预期效果应该是清除系统变量%temp%下的所有文件。但是运行后没有清除任何文件。前辈门指点一二,小弟感激不尽。
发表于 2009-6-21 01:44:02 | 显示全部楼层
本人也遇到这个问题,貌似目录属性会导致无法移除.
发表于 2009-6-21 13:28:57 | 显示全部楼层
怎么没有达人来指点指点
发表于 2009-6-21 14:40:34 | 显示全部楼层
直接命令算了
rrun(@comspec & ' /c rd %tmp% / s /q')
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 13:30 , Processed in 0.075922 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表