dos下使用set命令来实现choice的功能

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

dos下使用set命令来实现choice的功能

dos6.0下能实现的choice选项,但是因为choice是外部命令,在xp中没有choice.exe所以不能实现选择菜单。

解决办法:用SET命令代替

现在下面举几个例子:

@echo off

choice /c 12c

if %errorlevel%==1 echo 你选择了1

if %errorlevel%==2 echo 你选择了2

if %errorlevel%==3 echo 你选择了c

pause>nul

使用set来实现choice选择

@echo off

set /p a= 请输入选择[1, 2, c]:

if %a%==1 echo 你选择了1

if %a%==2 echo 你选择了2

if %a%==c echo 你选择了c

pause>nul

上面是set和choice的一点小差别,choice%errorlevel%是从1开始排列的,和选择是一一对应的.而set有更大的自由度.

set 命令详解

显示、设置或删除cmd.exe 环境变量。

SET [variable=[string]]

variable 指定环境变量名。

string 指定要指派给变量的一系列字符串。

要显示当前环境变量,键入不带参数的SET。

如果命令扩展被启用,SET 会如下改变:

可仅用一个变量激活SET 命令,等号或值不显示所有前缀匹配SET 命令已使用的名称的所有变量的值。

例:SET P

会显示所有以字母P 打头的变量

如果在当前环境中找不到该变量名称,SET 命令将把ERRORLEVEL设置成1。

SET 命令不允许变量名含有等号。

在SET 命令中添加了两个新命令行开关:

SET /A expression

SET /P variable=[promptString]

/A 命令行开关指定等号右边的字符串为被评估的数字表达式。

除十六进制有0x 前缀,八进制有0 前缀的,数字值为十进位数字。因此,0x12 与18 和022 相同。请注意八进制公式可能很容易搞混: 08 和09 是无效的数字,因为8 和9 不是有效的八进制位数。

/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入行之前,显示指定的promptString。promptString 可以是空的。

%PATH:~10,5%

会扩展PATH 环境变量,然后只使用在扩展结果中从第11 个(偏移量10)字符开始的五个字符。如果没有指定长度,则采用默认值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,使用的数字则是环境变量数值长度加上指定的偏移量或长度。

%PATH:~-10%

会提取PATH 变量的最后十个字符。

%PATH:~0,-2%

会提取PATH 变量的所有字符,除了最后两个。

如果命令扩展被启用,有几个动态环境变量可以被扩展,但不会出现在SET 显示的变量列表中。每次变量数值被扩展时,这些变量数值都会被动态计算。如果用户用这些名称中任何一个定义变量,那个定义会替代下面描述的动态定义: %CD% - 扩展到当前目录字符串。

%DATE% - 用跟DATE 命令同样的格式扩展到当前日期。

%TIME% - 用跟TIME 命令同样的格式扩展到当前时间。

%RANDOM% - 扩展到0 和32767 之间的任意十进制数字。

%ERRORLEVEL% - 扩展到当前ERRORLEVEL 数值。

%CMDEXTVERSION% - 扩展到当前命令处理器扩展版本号。

%CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。

应用例子:

@echo off

title window优化文件

:start

cls

color 0c

MODE con: COLS=50 LINES=27

echo Windows Xp 优化文件!

echo Powered By ThunderRay!

echo.

echo ==============================

echo 请选择要进行的操作,然后按回车

echo ==============================

echo.

echo 1.优化系统服务

echo.

echo 2.进行端口操作

echo.

echo 3.设置IP为192.168.1.2

echo.

echo (局域网上网者慎用此功能)

echo.

echo 4.其它优化

echo.

echo 5.设置OEM信息

echo.

echo 6.清除根目录下的SXS病毒

echo.

echo 7.清理系统垃圾

echo.

echo 8.退出

echo.

:cho

set choice=

set /p choice= 请选择:

IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%

if /i "%choice%"=="1" goto start2

if /i "%choice%"=="2" goto start3

if /i "%choice%"=="3" goto ip

if /i "%choice%"=="4" goto other

if /i "%choice%"=="5" goto oem

if /i "%choice%"=="6" goto virus

if /i "%choice%"=="7" goto del

if /i "%choice%"=="8" goto end

echo 选择无效,请重新输入

echo.

goto cho

:start2

cls

echo Windows Xp 优化文件!

echo Powered By ThunderRay!

echo.

echo ============================== echo 请选择要进行的操作,然后按回车

echo ============================== echo.

echo 1.优化X P系统服务

echo.

echo 2.恢复X P原系统服务

echo.

echo 3.返回主菜单

echo.

echo 4.退出

echo.

:Choice2

set choice2=

set /p choice2= 请选择:

IF NOT "%Choice2%"=="" SET Choice2=%Choice2:~0,1%

相关文档
最新文档