XP下的空闲时磁盘碎片消除

http://download1.csdn.net/down3/20070525/25110904976.vbs

文件碎片化是造成系统性能下降的一个主要因素之一,虽然Windows早就提供了整理工具,但其极低的效率和不得不等待其完成使得很多人从未做过这个可以显著提供性能的基本维护,Vista将这个过程放在自动维护里,这样在中午吃饭或者其它空闲时间就可以自动执行清理工作,可以大幅改善桌面用户长期使用中逐步变差的体验。

XP下其实也可以自动进行,有两种方式:

1)用"任务调度"创建定时任务,命令行敲入: sysdir/defrag.exe x: /f,这里的sysdir指Windows目录,x指要整理的磁盘。有点麻烦?用方法2

2)用附件的脚本,可以自动检查系统中的分区,对每个分区分别安排一个每月进行一次的清理工作。我设置的默认时间是午饭时间11:55,如果不合适,可以自己改变一下。

用法:保存到本地,双击或者在命令行下键入:autodefrag.vbs,即可。

执行完后在命令行下用at命令可以看到添加的任务。用at /delete 可以删除。

或者复制下面内容并保存为xxx.vbs

'
' Add disk defragment to schedule job list.
' The defragment scedule is set to 1st,2nd,3rd... day of every month for each disk particiption.
'
' Author: Lenovo lihw. 20070517

Dim objFSO, colDrives , errJobCreated, iDay

'start time. Default to 11:55am. you can modify it.
'Time format is UTC time. i.e '********hhmmss.000000+zoneadjust'
Const schetime  = "********115500.000000+480"

'create schedule job object
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!//" & strComputer & "/root/cimv2")
Set objNewJob = objWMIService.Get("Win32_ScheduledJob")

'Loop create scheduled job
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colDrives = objFSO.Drives

'day mask. it is defined as bit mask
iDay = 1

For Each objDrive in colDrives 'loop for each particition
 If objDrive.DriveType = 2 Then ' type 2 is hard disk
  errJobCreated = objNewJob.Create _
      ("defrag.exe " & objDrive.DriveLetter & ": /f", schetime , _
          True , ,iDay , , JobID)           
          
  If errJobCreated <> 0 Then  
  'Wscript.Echo JobID  
  'Else
   Wscript.Echo errJobCreated    
  End if
  
  iDay = iDay * 2  ' iday << 1

   End if
Next

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值