万卷书   首页 > 电脑书籍 > Win2000/NT >全面剖析磁盘扫描
 
三、用脚本从程序中安排卷的修复日程

  由于可以通过设置或重设注册表,来控制 Autochk,因此可使用脚本,从程序中安排卷的修复日程。

在记事本程序中,使用.VBS文件扩展名存储相应文件(例如:MyScript.vbs)。同时,建议您在一个公共文 件夹(例如:C:\Scripts)中保存这些脚本。打开命令行窗口。如果需要,使用cd命令切换到用以存储脚本的 文件夹中。在命令行窗口中,输入csript 命令并在其后跟随脚本名称。

  例如:

  cscript myscript.vbs

  1、修改 AutoChk 的 Timeout 值

  为 Autochk.exe 设定自动延迟时间为 30 秒。适用于 Windows XP 或 Windows 2003 Server。

  strComputer = "."
  Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  Set colAutoChkSettings = objWMIService.ExecQuery _
  ("Select * from Win32_AutochkSetting")
  For Each objAutoChkSetting in colAutoChkSettings
  objAutoChkSetting.UserInputDelay = 30
  objAutoChkSetting.Put_
  Next

  2、防止 AutoChk 在开机时自动运行

  即使电脑下次开机时,就算 C盘的 "字位" 已被设定, Autochk 也不会对C磁盘执行检查。适用于 Windows XP 或 Windows 2003 Server。

  strComputer = "."
  Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  Set objDisk = objWMIService.Get("Win32_LogicalDisk")
  errReturn = objDisk.ExcludeFromAutoChk(Array("C:"))
  Wscript.Echo errReturn

  3、执行 ChkDsk

  对电脑的D盘执行ChkDks.exe。适用于 Windows XP 或 Windows 2003 Server。

  Const FIX_ERRORS = True
  strComputer = "."
  Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  Set objDisk = objService.Get("Win32_LogicalDisk.DeviceID='D:'")
  errReturn = objDisk.ChkDsk(FIX_ERRORS)
  Wscript.Echo errReturn

  4、安排在电脑下一次重新启动时,对 C 盘执行 Autochk.exe。适用于 Windows XP 或

  Windows 2003 Server 。

  strComputer = "."
  Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  Set objDisk = objWMIService.Get("Win32_LogicalDisk")
  errReturn = objDisk.ScheduleAutoChk(Array("C:"))
  Wscript.Echo errReturn

上一页 下一页