批处理经典应用举例01

Ø 经典应用举例
1) 磁盘整理

::不显示此条命令,并且关闭回显。一般都是位于开头,防止运行批时刷屏。

@echo off

::设置cmd的背景色和前景色,3为背景色,f为前景色。

color 3f

::设置cmd标题。

title 磁盘整理 by LitteJack

::标签,而整个menu就是选择功能。

:menu

::清屏,一般都在每个标签后弄一个,界面就会刷新成空白,比较好看。

Cls

::显示到cmd中的内容,告知用户如何选择。

echo.

echo [1]整理所有固定磁盘

echo [2]整理可移动磁盘

echo [3]整理指定磁盘

echo [0]退出

echo.

::设置变量choice,/p调用键盘输入。” 请选择(1/2/3/0):”只是显示,此命令只将键盘输入存到choice里。

set /p choice= 请选择(1/2/3/0):

::判断choice如果满足条件,则跳转到指定标签。

if "%choice%"=="1" goto menuall

if "%choice%"=="2" goto menumove

if "%choice%"=="3" goto menuone

if "%choice%"=="0" goto end

::如果以上都不满足,及键入的不是1 2 3 0。则实行以下语句,返回menu标签那,再继续执行menu的指令。

goto menu

:menuall

Cls

::for的比较常用形式,意思就是在C~Z中,查找固定驱动器,并整理。

::fsutil fsinfo drivetype 就是显示磁盘信息,如果想看效果可以在cmd中观察,find是过滤功能

::而用&&之前没有执行则后面的也就不执行。

::defrag 是cmd下的磁盘整理程序。

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 (

echo.

fsutil fsinfo drivetype %%a: |find /i "固定" >NUL && echo 正在整理%%a盘:&& defrag %%a:

echo.

)

::这里在pause后有>nul,是让程序暂停,但又不想显示pause默认的信息,而是显示echo输出的信息。

echo 整理结束,按任意键返回... & pause>nul

goto menu

:menumove

cls

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 (

echo.

fsutil fsinfo drivetype %%a: |find /i "移动" >NUL && echo 正在整理%%a盘:&& defrag %%a:

echo.

)

echo 整理结束,按任意键返回... & pause>nul

goto menu

:menuone

cls

echo 请指定需要磁盘整理的磁盘(可重复,用空格格开,如C D E F)

set /p disk= 请输入:

for %%a in (%disk%) do echo. && echo 正在整理%%a盘:&& defrag %%a: && echo.

echo 整理结束,按任意键返回... & pause>nul

goto menu

:end

cls

echo -----------------------------------------------------

echo 操作完毕,谢谢您的使用!

echo.

echo by LitteJack

echo qq:279020803

echo.

echo 按任意键退出...

echo -----------------------------------------------------

pause>nul

相关阅读:

posted on 2011-04-17 23:30  Eason Jiang  阅读(485)  评论(0编辑  收藏  举报

导航