当前位置:DOS资源站资料中心批处理教程 → 磁盘碎片整理程序

磁盘碎片整理程序

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-4-16 21:40:14

鉴于Xp中的磁盘碎片整理程序,处理速度太慢,菜鸟小弟做了一个BAT,各位请高手多多指教,提出错误

@Echo Off&title DOS资源站 www.cmdos.net
title 磁盘碎片整理程序!
:start
cls
color 1F
MODE con: COLS=75 LINES=23
Echo.                                                                                                
Echo.
Echo                              磁盘碎片整理程序
Echo.
Echo                         ============================
Echo                          请选择要进行的操作,后回车
Echo                         ============================
Echo.
Echo                             1. 只分析而不整理
Echo.
Echo                             2. 整理碎片
Echo.
Echo                             3. 退出
Echo.
                  
:A
Set ABC=
Set /p ABC=          请选择一个:
If Not "%ABC%"=="" Set ABC=%ABC:~0,1%
If /i "%ABC%"=="1" Goto X
If /i "%ABC%"=="2" Goto Y
If /i "%ABC%"=="3" Goto End
Echo无效选择,请重新输入
Echo.
Goto A

:X
cls
Echo.
Echo.
Echo                              磁盘碎片分析程序
Echo.
Echo                         ===========================
Echo                         请输入盘符(如:C:),回车
Echo                         ===========================
Echo.      
Echo.           

:reinput
Set /p a=请输入盘符:
If Not Exist %a% ( Echo  输入形式错误!请重输入! ) && ( Goto reinput )
If %a%=="" ( Echo  请输入! ) && ( Goto reinput )
If %a%=="C:" Goto defrag/a
If %a%=="D:" Goto defrag/a
If %a%=="E:" Goto defrag/a
If %a%=="F:" Goto defrag/a
If %a%=="G:" Goto defrag/a
If %a%=="H:" Goto defrag/a
If %a%=="c:" Goto defrag/a
If %a%=="d:" Goto defrag/a
If %a%=="e:" Goto defrag/a
If %a%=="f:" Goto defrag/a
If %a%=="g:" Goto defrag/a
If %a%=="h:" Goto defrag/a

:defrag/a
Echo.
Echo  正在对 %a%盘进行分析,请等待. . . . . . . . . .
Echo.
defrag %a% /a
Echo.
Echo    **任意键回主菜单**
pause >nul
Goto start

:Y
cls
Echo.
Echo.
Echo                              磁盘碎片整理程序
Echo.
Echo                         ===========================
Echo                          请输入盘符(如:C:),回车
Echo                         ===========================
Echo.                        
Echo.
Echo.
                        

:reinput
Set /p a=请输入盘符:
If Not Exist %a% ( Echo 输入形式错误!请重输入! ) && ( Goto reinput )
If %a%=="" ( Echo 请输入! ) && ( Goto reinput )
If %a%=="C:" Goto defrag/f
If %a%=="D:" Goto defrag/f
If %a%=="E:" Goto defrag/f
If %a%=="F:" Goto defrag/f
If %a%=="G:" Goto defrag/f
If %a%=="H:" Goto defrag/f
If %a%=="c:" Goto defrag/f
If %a%=="d:" Goto defrag/f
If %a%=="e:" Goto defrag/f
If %a%=="f:" Goto defrag/f
If %a%=="g:" Goto defrag/f
If %a%=="h:" Goto defrag/f

:defrag/f
Echo.
Echo.
Echo   正在进行对 %a%盘进行碎片整理,请耐心等待. . . . . . . . .
defrag %a% /f >nul
Echo.   
Echo     完成碎片整理!      
Echo.
Echo     **请按任意键回主菜单**
pause >nul
Goto start

:End
cls
Echo.
Echo.
Echo.
Echo.
Echo.
Echo.
Echo.
Echo.
Echo                               感谢使用,再见 !
Echo.
Echo.
Echo.
Echo.
Echo.
Echo    ***任意键退出***
pause >nul
Exit