关于批处理的问题

我想在一个批处理中添加一个步骤.
就是说,使用者可以选择是或者否,如果否的话,就继续下一步的命令,是的话,就输出:谢谢使用.然后退出程序!

使用“SET /P 变量=”这个语句可以获取输入内容到%变量%里面,比如下面的语句:
set /p choice=
运行的时候,屏幕会等你输入,输入的内容可以如下显示出来:
echo %choice%

完整的批处理选择运行例子如下:

@echo off
color 1e
title 命令选择程序
goto :menu

:menu
cls
echo. ★★★★★★★★ 批处理启动器 ★★★★★★
echo.
echo. 1 启动远程桌面
echo.
echo. 2 查看系统服务
echo.
echo. 3 运行cmd
echo.
echo. 4 查看系统进程
echo.
echo. 5 解除系统限制
echo.
echo. 6 打开画图
echo.
echo. 7 打开计算器
echo.
echo. 8 退出选择
echo.
echo.
echo.
:cho
set choice=
set /p choice= 请选择:
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if /i "%choice%"=="1" goto radmin
if /i "%choice%"=="2" goto services
if /i "%choice%"=="3" goto cmd
if /i "%choice%"=="4" goto tasklist
if /i "%choice%"=="5" goto unlock
if /i "%choice%"=="6" goto mspaint
if /i "%choice%"=="7" goto calc
if /i "%choice%"=="8" goto end
echo 选择无效,请重新输入
echo.
goto menu

:radmin
mstsc
goto :menu

:services
services.msc
goto :menu

:unlock
regsvr32 /u /s stshell.dll
echo 解除成功 & pause
goto :menu

:mspaint
mspaint
goto :menu

:calc
calc
goto :menu

:tasklist
tasklist
echo.
echo 所有进程显示完毕
pause
goto :menu

:cmd
start cmd
goto :menu

:END
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-04-18
@echo off
>%Temp%\Temp.vbs echo set WshShell = WScript.CreateObject("WScript.Shell")
>>%Temp%\Temp.vbs echo intAnswer = MsgBox("是否要查询计算机的用户?", vbExclamation + vbYesNo, "请说实话")
>>%Temp%\Temp.vbs echo If intAnswer = vbYes Then
>>%Temp%\Temp.vbs echo Wscript.Echo "YES"
>>%Temp%\Temp.vbs echo end if
>>%Temp%\Temp.vbs echo If intAnswer = vbNo Then
>>%Temp%\Temp.vbs echo Wscript.Echo "NO"
>>%Temp%\Temp.vbs echo end if
for /f "delims=" %%i in ('"cscript //nologo %Temp%\Temp.vbs"') do goto %%i
goto oef

:YES
net user
pause
goto eof

:NO
msg /V /TIME:3 %username% 谢谢使用!
goto eof

:eof

批处理闪退、运行中断等问题的处理
1. 闪退问题避免修改批处理名称:以“局域网共享一键修复”为例,运行需以管理员身份,改名可能导致闪退,特别避免包含英文括号()。保持默认名称或修复闪退后再恢复。检查注册表设置:若闪退影响到命令提示符,检查`HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Command Processor`下的`AutoRun`值,清理后重启尝试。

ps批处理后目标文件为空ps批处理失败
1.原始文件不存在或路径错误:检查原始文件路径是否正确,以及文件名是否输入正确。2.批处理文件中命令有误:检查批处理文件中的命令是否正确。3.文件格式错误:检查批处理文件和原始文件的格式是否相同。4.文件权限问题:检查是否有文件修改或读取权限。5.病毒感染:可能存在病毒感染导致文件目标为空。需要...

cmd 批处理 bat 问题
   1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。    2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。    3.批处理的编程能力远不如C语言等编...

多道批处理系统的主要缺点
多道批处理系统的主要缺点:一、交互性差 多道批处理系统主要侧重于批量处理,而非实时交互。它倾向于将用户的请求按照预定的流程顺序进行处理,缺乏灵活的即时响应机制。这种处理方式对于需要快速响应或实时反馈的用户来说,显然不够友好。特别是在处理复杂任务或需要频繁交互的情况下,用户必须等待系统按顺...

批处理的疑问!
1、for语句中的变量必须用%%表示,%%i就表示为一个变量,不区分大小写。2、对的。3、%%~nxi !num!.txt,涉及到FOR语句的增强功能。10.for命令 for命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。在批处理文件中使用FOR命令时,指定变数请使用%%variable FOR变数参照的替换已被...

关于批处理for的问题
问题出在 set命令 \/a这个参数上,set 命令加上\/a参数代表右边的变量将被当做表达式处理。 如果你右边的变量也就%%a的值是文本那么不管是多少username都是0。 解决方法是去掉\/a这个参数,那么%%a的值和username便会相等。for \/f "tokens=1" %%a ( users\\username.txt) do set username=%%a ...

求大神,关于批处理传递参数的问题
[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。例2:C:根目录下有一批处理文件名为f.bat,内容为:echo off format %1 如果执行C:\\>f a:那么在执行f.bat时,%1就...

一个关于photoshop批处理的问题有懂得ps的吗?
因为你所处理的图片大小都不一样 这点就不能用正常的方式来处理了 因为PS里的批处理需要用到动作 而动作需要的是每个步骤都一致才行 当然 想要完成你需要的条件其实也很简单 如你所图 你是要在黑色图片外加白色边 这个可以用混合选项里的描边来实现 那么上方呢 可以用投影来实现 这样的操作就...

批处理符号的问题
③ 批处理中,在for语句中,使用与in之前指定的指标变量相同的串,表示引用这个指标变量。!在set \/a中一元运算符,表示逻辑非。比如set \/a a=!0,这时a就表示逻辑1。!!当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用。%0 代表批处理自身,如:echo.%0 就是显示批处理完整路径%1 ...

ps批处理保存为什么会覆盖ps中批处理为啥不能自动保存
在Adobe Photoshop中进行批处理保存时,文件被覆盖的原因通常有两种情况:1. 输出目录和文件名设置问题:在进行批处理保存时,你需要确保输出目录和文件名设置正确。如果你使用了相同的输出目录和文件名,每次保存时都会覆盖之前保存的文件。确保在批处理过程中为每个文件指定不同的文件名或输出目录,以避免...

相似回答
大家正在搜