我是批处理脚本的新手,我必须应用一个简单的if语句。 当然,用户给出脚本的名称(c5)和一个参数。如果第一个参数是“John”打印“Welcome John”,则打印“你是谁?”。
这是我的代码:
@echo off
set msg1 = Welcome John
set msg2 = Who are you%?
if %1 == "John" echo %msg1%
if not %1 == "John" echo %msg2%
pause
当我输入不带参数的“c5”时,显示:“”echo“此时无法在句法上进行处理。” (原文:“echo”kann syntaktisch and dieser Stelle nicht verarbeitet werden。“ 如果我使用任何参赛(c5 Johny或c5 kostas),ECHO将被关闭。
我将不胜感激任何帮助
答案 0 :(得分:1)
空格和引号在dos批处理中很有趣,我让它工作。
@echo off
set msg1=Welcome John
set msg2=Who are you?
if %1 == John echo %msg1%
if not %1 == John echo %msg2%
pause
答案 1 :(得分:0)
这显示了对/i
或John
或john
等使用joHN
测试的方法,而不考虑大小写,并且还显示了另一种排列回显的方法。
这也会接受two words
中的%1
,如果%1
为空则不会失败。
@echo off
set msg1=Welcome John
set msg2=Who are you?
if /i "%~1"=="John" (echo %msg1%) else (echo %msg2%)
pause