系统垃圾清理系统.bat

@echo off
title 系统垃圾清理系统                             #主题名
mode con cols=90 lines=10                         #窗口的宽和高
if not exist c:\windows\system32\choice.exe copy \\sharefolders\choice.exe c:\windows\system32\
:bit
echo.
echo ========================================================================
echo.
echo.
echo 	     *****      选择系统位数    *****
echo.
echo.
echo				[1]. 32Bit
echo.
echo				[2]. 64Bit
echo.

choice /c:12 /m "选择系统位数:"
if errorlevel 2 goto 64bitos
if errorlevel 1 goto 32bitos

:32bitos
echo ========================================================================
echo.
echo       *********      请选择你的系统    *********
echo.
echo			[1].XP
echo.
echo			[2].Win7/Vista
echo.
echo.
echo.
set /p input="请选择你的系统[1-2]:"
if %input%==1 goto 321
if %input%==2 goto 322
goto 32bitos

:321
call  \\sharefolders\xpclean.bat
goto finish

:322
call  \\sharefolders\win7_32clean.bat
goto finish  

:64bitos
echo ========================================================================
echo.
echo       *********      请选择你的系统     *********
echo.
echo                    [1].Win7/Vista
echo.
echo                    [2].Win8/Win10
echo.
echo.
set /p input="请选择你的系统[1-2]:"
if %input%==1 goto 641
if %input%==2 goto 642
goto 64bitos

:641
call  \\sharefolders\win7_64clean.bat
goto finish  
 
:642
call  \\sharefolders\win8_10clean.bat
goto finish  
 
:finish
echo 完成系统垃圾清理,按任意键退出
pause>nul
exit

C:\Windows\System32>choice /?

CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

描述: 该工具允许用户从选择列表选择一个项目并返回所选项目的索引。

参数列表:

/C choices 指定要创建的选项列表。默认列表是 “YN”。

/N 在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。

/CS 允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。

/T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0 到 9999。如果指定了 0,就不会有暂停,默认选项会得到选择。

/D choice 在 nnnn 秒之后指定默认选项。字符必须在用 /C 选项指定的一组选择中; 同时,必须用 /T 指定 nnnn。

/M text 指定提示之前要显示的消息。如果没有指定,工具只显示提示。

/? 显示此帮助消息。

注意:ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的 ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0 的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降序排列。

示例:

CHOICE /?

CHOICE /C YNC /M “确认请按 Y,否请按 N,或者取消请按 C。”

CHOICE /T 10 /C ync /CS /D y

CHOICE /C ab /M “选项 1 请选择 a,选项 2 请选择 b。”

CHOICE /C ab /N /M “选项 1 请选择 a,选项 2 请选择 b。”

好吧,帮助够详细了,choice的参数有:

/c /n /cs /t /d /m (/?)

choice常用搭配:

choice /c 123… /n (>nul)

choice /c 123… /n /t (n) /d 1 (>nul)

choice /c

首先来讲他的最简模式:

choice /c yn

他的结果是:

[Y,N]?

即让你选择“Y”或“N”。

当然,也可以是数字:

choice /c 123

他的结果是:

[1,2,3]?

注意:choice只支持数字与字母的选择,不能是特殊符号,当然,还有更为强大的CKey(支持任意键盘字符的选择 By Defanive)。

如果加上 /n 参数,那么屏幕上的提示就会被屏蔽了.在实际运用中,为了保持界面美观,通常都加上 /n 参数。如:

choice /c 123 /n

如果按了其他的键(不在 /c 的列表中),那会怎样?

在XP下,会什么事也没发生,你必须重新选择。

在Win7下,会有“哔”的警告音,你也要再选择。

加上>nul会怎样?

choice /c 12 /n:当你选择时,你输入的字符会显示在屏幕上,影响美观!

而choice /c 12 /n >nul可以屏蔽你输入的字符,不在屏幕上显示。

目前,Killer所有的choice命令都加了>nul。.

那么,当我们熟悉了选择机制后,如何判断使用者输入了哪个选项?

如果是set /p

set /p a=

if %a%==1 ………………

if %a%==2 ………………

if %a%==3 ………………

choice的返回值是环境变量errorlevel的值,你选择的是第几项,errorlevel的值就是什么。

例如:choice /c abc /n

当你选择a时,a是第1个选项,所以errorlevel的值为1

当你选择b时,b是第2个选项,所以errorlevel的值为2

当你选择c时,c是第3个选项,所以errorlevel的值为3

那么,语句应该这样写:

choice /c abc /n

if %errorlevel%==1 ………………

if %errorlevel%==2 ………………

if %errorlevel%==3 ………………

这应该是很简单的,相信初学者很快能掌握.

让我们进入最激动人心的时刻——延时选择

现在我们就要用到/t和/d这两个参数

基本模式:choice /c 123 /n /t n /d 1

这句话的意思是:让使用者选择1、2、3中的一个,若其n秒后再不选择,则自动选择1.

choice /t和/d还有延时功能,众所周知,用ping可以延时

ping /n 2 127.1 >nul

而choice也可以

choice /c k /n /t 2 /d k

choice还有一个好处:当你想快速跳过时,不停按k即可.

/m是echo加choice,相当于set /p a=〔message〕一样。

/cs是区分大小写,通常是不区分的。