注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

临颍中远电脑科技

专业装机,网吧维护,电脑维修,网络监控,数据恢复,

 
 
 

日志

 
 

排除目录删除文件  

2010-08-31 15:49:44|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#NoTrayIcon;不显示托盘
dim $log
$g_szVersion = "Diskclr V1.01-beta by luren"    ;;;本段防止重复打开
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
$begintime = TimerInit()
 
for $x = 1 to 99
$segment = "config" & $x
 
$excComputerName = iniread(@ScriptDir & "\diskclr.ini",$segment,"排除机器","")
if $excComputerName = "allcomputer" then
   ContinueLoop
Else
$spexcComputerName = stringsplit($excComputerName,"|")
$skip = False
for $n = 1 to UBound($spexcComputerName) - 1
   if @ComputerName = $spexcComputerName[$n] then
    $skip = True
    ExitLoop
   EndIf
Next
if $skip then
   ContinueLoop
EndIf
EndIf
 
$clrdir = IniRead(@ScriptDir & "\diskclr.ini",$segment,"清理目录","")
If stringlen($clrdir) <> 0 then
$excdir = IniRead(@ScriptDir & "\diskclr.ini",$segment ,"排除目录","")
$excfile = IniRead(@ScriptDir & "\diskclr.ini",$segment ,"排除文件","")
$clewdel = iniread(@ScriptDir & "\diskclr.ini",$segment ,"提示删除","")
Else
continueloop
EndIf
$spexcdir = stringsplit($excdir,"|")
$spexcfile = stringsplit($excfile,"|")
$spclewdel = stringsplit($clewdel,"|")
$search = FileFindFirstFile($clrdir & "\*.*")
If $search = -1 Then ExitLoop
while 1
    $file = FileFindNextFile($search)
     If @error Then
   FileClose($search)
   ExitLoop
ElseIf stringinstr(FileGetAttrib($clrdir & "\" & $file),"D") then
   $del = False
   for $m = 1 to UBound($spclewdel) - 1      ;;;询问是否删除目录
    if $file = $spclewdel[$m] then
    $msg =   msgbox(262144 + 36 + 256 ,"请确认","是否移除目录" & $clrdir & "\" & $file,5)
    if $msg = 6 then $del = True
    EndIf
   Next
   if $del then
    $dirremove = dirremove($clrdir & "\" & $file,1)         ;;移除目录
    if $dirremove = 0 then $log = $log &   "目录:" & $clrdir & "\" & $file & @CRLF
   EndIf
   $del = True
   for $m = 1 to UBound($spexcdir) - 1      ;;;排除目录
    if $file = $spexcdir[$m] then
     $del = False
    EndIf
   Next
   if $del then
    $dirremove = dirremove($clrdir & "\" & $file,1)           ;;移除目录
    if $dirremove = 0 then $log =   $log & "目录:" & $clrdir & "\" & $file & @CRLF
   EndIf
Else
   $del = False
   for $m = 1 to UBound($spclewdel) - 1    ;;;询问是否删除文件
    if $file = $spclewdel[$m] then
     $msg =   msgbox(262144 + 36 + 256 ,"请确认","是否删除文件" & $clrdir & "\" & $file,5)
     if $msg = 6 then $del = True
    EndIf
   Next
   if $del then
    if stringinstr(FileGetAttrib($clrdir & "\" & $file),"R")   Then
     FileSetAttrib($clrdir & "\" & $file,"-R")
     $filedel = filedelete($clrdir & "\" & $file)           ;;移除只读文件
     FileSetAttrib($clrdir & "\" & $file,"+R")
    Else
     $filedel = filedelete($clrdir & "\" & $file)           ;;移除文件
    EndIf
    if $filedel = 0 then $log = $log &   "文件:" & $clrdir & "\" & $file & @CRLF
   EndIf
 
   $del = True
   for $m = 1 to UBound($spexcfile) - 1     ;;排除文件
    if $file = $spexcfile[$m] then
     $del = False
    EndIf
   Next
 
   if $del then
    if stringinstr(FileGetAttrib($clrdir & "\" & $file),"R")   Then
     FileSetAttrib($clrdir & "\" & $file,"-R")
     $filedel = filedelete($clrdir & "\" & $file)           ;;移除只读文件
     FileSetAttrib($clrdir & "\" & $file,"+R")
    Else
     $filedel = filedelete($clrdir & "\" & $file)           ;;移除文件
    EndIf
    if $filedel = 0 then $log = $log &   "文件:" & $clrdir & "\" & $file & @CRLF
   EndIf
 
EndIf
WEnd
Next
 
if iniread(@ScriptDir & "\diskclr.ini","config1","显示日志","") = 1 Then
if   stringlen($log) <> 0 Then
   msgbox(4096,"日志","下列文件删除失败,请确定此文件存在且对文件具有删除权限." & @CRLF & $log & @crlf & "共耗时" & TimerDiff($begintime)/1000 & "秒")
Else
   MsgBox(4096,"日志","清理磁盘成功!" & @crlf & "共耗时" & TimerDiff($begintime)/1000 & "秒")
EndIf
EndIf

 

配置格式文件如下:diskclr.ini

配置文件举例:

[config1]
清理目录=d:\netgame
排除目录=华夏online|QQR2|QQ幻想|QQ堂|傲世|霸王大陆|传奇世界|大话西游|街头篮球|劲乐团
排除文件=config.ini|profile.exe|diskclr.ini
提示删除=华夏online|diskclr.ini
排除机器=allcomputer
显示日志=1

[config2]
清理目录=
排除目录=
排除文件=
提示删除=
排除机器=allcomputer
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

注意:
1、你现在使用的是测试版本,对任何因使用本软件引起的一切后果与造成的任何法律责任,本人概不负责!
2、本软件为免费软件,您可以自由使用与传播它。但是请注意一定要保持它的原貌,不要对它进行任何修改。
3、本人保证不在软件中加入恶意或破坏的代码,但本人不保证软件完全可用性。因误操作失误或软件的BUG
    造成的问题,无任何担保.如果遇到问题可以和我联系,我会尽力帮助你解决.
4、本软件为AU3编写,某些杀毒软件可能设报为病病.
5、本软件编译时未加密,懂AU3的朋友可以自已反编译出源代码.
6、本软件具有一定的危险性,请仔细阅读本README文档,确认无误后方能运行主程序。


使用帮助:

1、[config]段最多可自定义99组,从[config1]到[config99],[config]段必须连续,
    如果有[config3],而没有[config2],则程序执行完[config1]后自动退出,
    不会再去执行[config3]中的内容,此时可在配置文件中加入一个空的[config2]段,
    下面不加"清理目录="或把"清理目录="留空不填即可.

2、"清理目录="一栏填入要清理的目录名,后面不用加"\"

3、"排除目录="一栏填入要排除的目录名,中间用"|"符号分开(不含引号)

4、"排除文件="一栏填入要排除的文件名,中间用"|"符号分开(不含引号)
     ps:用"|",现不用","或";"是因为文件名中不能出现"|"字符,防止出错.

5、"提示删除="中定义的文件或目录必须添加到“排除文件”或“排除目录”中,否则
     不管提示时回答"是"或"否",程序都会删除此目录或文件.
     出现提示后五秒内用户不选择,则默认不删除此文件或目录。

6、"排除机器="一行请填入要排除的机器的计算机名,中间用"|"符号分开(不含引号),
     不可填IP,如果留空默认为所有机器.如果为"allcomputer"则排除所有机器.
     PS:上次下载一个人写的一个类似软件,他的配置文件里面直接写的e:\,而排除文件没写,
     我下载下来,看也没看就运行了他的主程序,结果我E盘里几十G的东西没了,郁闷死我了,
     所以才想到加上"allcomputer"

7、"显示日志="为1时显示,为其它值时不显示,只需要在[config1]段中加入此行.

  评论这张
 
阅读(530)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017