Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1849627
  • 博文数量: 354
  • 博客积分: 11021
  • 博客等级: 上将
  • 技术积分: 4048
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-24 10:04
文章存档

2020年(1)

2018年(1)

2016年(1)

2015年(2)

2014年(4)

2013年(4)

2012年(12)

2011年(14)

2010年(37)

2009年(34)

2008年(22)

2007年(68)

2006年(102)

2005年(29)

2004年(21)

分类: WINDOWS

2006-08-17 08:19:02

目前,大多数的企业都是在用windows系统,而windows的一个特色就是系统庞大,文件繁多凌乱,一个XP系统在刚安装好时,是2.5G左右,而在添加软件的情况下,使用3个月,系统就可能要占4G的硬盘了。所占的硬盘空间,都是一些日志、驱动、临时文件等。这样无休止地自动添加文件,让本来就凌乱的硬盘会变得更加凌乱。那么定期地整理硬盘就变得很有必要了。

在已启动用AD来管理网络的企业网里,IT管理员逐台电脑去手动做硬盘整理是非常没有效率的,而且吃力不好讨。本文介绍如何通过写脚本和批处理两种方法来进行自动化硬盘整理。 

方法一:批处理对硬盘各分区进行整理(突破win2000/XP要每一分区整理)

  要实现这次挑战任务,Windows 9x/Me自带的“磁盘碎片整理程序”就已能胜任,默认设置就是整理硬盘所有分区。而Windows 2000/XP/Server 2003自带的“磁盘碎片整理程序”则比较烦琐:硬盘整理只能整理完一个驱动器再整理下一个,给很多使用大硬盘的用户带来不便。对于Windows 2000/XP/Server 2003,要实现这个任务其实也很简单,略施小计,就能让硬盘整理自动化,方便又轻松,根本不需要第三方软件插足。

  第一步:编辑自动整理硬盘批处理脚本文件。假设硬盘有五个分区,盘符为:C:、D:、E:、F:、G:。打开“记事本”,输入下列内容,并保存为“autodrag.bat”文件:

@echo off
for %%d in (c: d: e: f: g:) do defrag %%d /f
exit

小提示:

★如果分区可用空间少于15%,/f可以强制对卷进行碎片整理,而不管该分区是否需要进行碎片整理。如果分区可用空间少于15%,则只能部分地整理其碎片。

★要显示完整的分析和碎片整理报告,添加参数 /v:“for %d in (c: d: e: f: g:) do defrag %d /f /v”。如果不指定 /v,则在默认情况下,defrag 将综合显示分析报告和碎片整理报告。

★如果在/v后面添加指定的文件filename.txt,可以将报告发送到文本文件中。如:“/v c.txt”。

★要中断碎片整理进程,请在命令行处按CTRL+C键。

★运行defrag命令和运行“系统工具→磁盘碎片整理程序”相互排斥。即正在使用“磁盘碎片整理程序”,则运行defrag命令将会失败。相反,正在运行defrag命令,则“磁盘碎片整理程序”中的“碎片整理”选项不可用。

★如果硬盘所有分区整理完毕不希望关闭“命令提示符”,请不要输入“exit”命令。

  第二步:创建快捷方式。可以在桌面、开始菜单或任务栏快速启动栏等处创建快捷方式,按住右键直接拖曳“autodrag.bat”文件图标到桌面、开始菜单或任务栏快速启动栏,选择“在当前位置创建快捷方式”即可。需要整理硬盘时,单/双击快捷方式图标即可进行硬盘整理。

  第三步:如果希望“命令提示符”窗口最小化,右键单击快捷方式图标,选择“属性”,单击“快捷方式”选项卡,单击“运行方式”下拉框,选择“最小化”,然后单击“应用”。单击“常规”选项卡,还可以重命名快捷方式为一个自己喜欢的名字,比如“自动整理硬盘”。
你知道吗?

  在Windows 98/Me中,点击“开始→运行”,输入“defrag”,点“设置”,取消检测驱动器错误(因为一旦出错就会中止整理),然后在要整理的驱动器中选择所有的硬盘即可开始整理所有硬盘。

  上面介绍的命令行中必须输入要整理的分区盘符,如果在不知道有多少个分区的情况下该怎么办呢?那就要按如下的方法来写:

@echo off
for %%a in (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 @if exist %%a:\recycled defrag %%a:
exit

  这样,就可以循环查找有效分区并自动进行整理了。

 

 

方法二:用VBS脚本进行全硬盘整理(一样突破win2000/XP的限制)

  用批处理的方法固然方便,但是在Windows界面下还用命令行方式整理磁盘,多少显得有些不方便。其实借助我们曾经学习过的VBS的知识,完全可以胜任这项工作。

  第一步:打开“记事本”,输入以下内容(以“'”开头的内容为注释内容,不必输入):
 
set WshShell = CreateObject("WScript.Shell")
'启动图形界面的整理程序
WshShell.Run "dfrg.msc"
WScript.Sleep 1000
'等待1秒钟,用于程序启动
While WshShell.AppActivate("磁盘碎片整理程序") = FALSE
 wscript.sleep 1000
Wend
'将磁盘碎片整理程序选为当前窗口
WshShell.AppActivate "磁盘碎片整理程序"
WScript.Sleep 200
'按下“ALT+A”打开下拉菜单
WshShell.SendKeys "%A"
WScript.Sleep 200
'按下“D”键
WshShell.SendKeys "D"
'整理完毕后等待5秒钟
While WshShell.AppActivate("磁盘碎片整理完毕") = FALSE
 wscript.sleep 5000
Wend
'激活该窗口
WshShell.AppActivate "磁盘碎片整理完毕"
WScript.Sleep 200
WshShell.Sendkeys "{TAB}"
Wscript.Sleep 500
WshShell.Sendkeys "{ENTER}"
Wscript.Sleep 500
'按下“ALT+F4”关闭整理程序
WshShell.Sendkeys "%{F4}"

  第二步:关闭“记事本”,把文件保存为autodefrag.vbs,需要整理硬盘时只要双击一下这个文件即可。

 

脚本已做好了,如何通过AD发布和实施就是小问题啦。

阅读(2111) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~