简单的If-Statement - 批处理脚本

时间:2014-02-21 20:14:46

标签: batch-file if-statement cmd

我是批处理脚本的新手,我必须应用一个简单的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将被关闭。

我将不胜感激任何帮助

2 个答案:

答案 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)

这显示了对/iJohnjohn等使用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