Batch file 使用If语句和键盘输入批处理文件
祝大家新年快乐,希望你们过得愉快 我正在尝试创建一个批处理文件,该文件将接受键盘输入,然后根据该输入启动程序,或者如果输入的选项无效,则显示错误消息。但它不起作用。以下是到目前为止我得到的信息:Batch file 使用If语句和键盘输入批处理文件,batch-file,if-statement,user-input,Batch File,If Statement,User Input,祝大家新年快乐,希望你们过得愉快 我正在尝试创建一个批处理文件,该文件将接受键盘输入,然后根据该输入启动程序,或者如果输入的选项无效,则显示错误消息。但它不起作用。以下是到目前为止我得到的信息: ECHO OFF set /p %environment%=Connect to Live or Dev?: IF %environment% = "Live" ( C:\Windows\System32\runas.exe /user:live\someuser /netonly "C:\Prog
ECHO OFF
set /p %environment%=Connect to Live or Dev?:
IF %environment% = "Live"
(
C:\Windows\System32\runas.exe /user:live\someuser /netonly "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"
)
ELSE IF %environment% = "Dev"
(
C:\Windows\System32\runas.exe /user:dev\someuser /netonly "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"
)
ELSE
(
ECHO "Invalid Option"
)
我尝试过使用%和不使用%对变量进行取整,但都不起作用。谁能给我指出正确的方向吗
希望你能帮忙
干杯
亚历克斯
1-在set
命令中,等号左侧的变量名称不使用%
符号<代码>%var%sintax用于检索变量的值
2-要测试相等性的运算符是=
或eq
(请参见if/?
)
3-在IF
命令中,应将相同的引号应用于相等运算符的两侧。否则,值将不被视为相等
4-当IF
命令条件为true时要执行的命令/块必须在IF的同一行中开始,因此开始括号不能在下一行中
5.
ELSE
必须继续执行IF
块,并在其自身块的开始之前。IF的右括号和ELSE的起始括号必须在同一行。这里有一些代码可以帮助您找到正确的方向。我在Windows7中用一个.cmd文件对此进行了测试
ECHO OFF
SET /p environment="Connect to Live or Dev?"
IF /i "%environment%" == "Live" GOTO live
IF /i "%environment%" == "Dev" GOTO dev
ECHO Invalid Option
GOTO end
:live
ECHO "Live!!!!"
goto end
:dev
ECHO "Dev!!!"
:end
PAUSE
删除
@echo off
以查看发生的情况:1)查看if
行的翻译方式。2) (
必须与if
3)在同一条线上)其他(
必须在同一条线上太棒了!太棒了。谢谢你的帮助。你们也一样。干杯
ECHO OFF
SET /p environment="Connect to Live or Dev?"
IF /i "%environment%" == "Live" GOTO live
IF /i "%environment%" == "Dev" GOTO dev
ECHO Invalid Option
GOTO end
:live
ECHO "Live!!!!"
goto end
:dev
ECHO "Dev!!!"
:end
PAUSE