[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]批处理@echo何解?

  1. @echo off
  2. set "str=this is a test"
  3. REM 检测变量%str%是否等于test,如果相等,显示OK,否则显示NO
  4. if "%str%"=="test" (echo OK) else echo NO
  5. pause>nul
复制代码
看的if教程时 产生的疑问
之前教程里说
----------------------------------
@:这个家伙的作用就是告诉电脑不要显示“你输入的命令行”,否则的话,显示结果将变成:

F:\>echo hello,world
    echo hello,world
----------------------------------


那么按道理 if那段代码不是应该
显示

echo NO
echo NO



但是 不管我加不加@
他都只显示NO或者YES呢?

难道在if语句里 可以不加@???

[ 本帖最后由 beck1321 于 2008-8-9 15:24 编辑 ]
收入分四种:狂劳不得,多劳少得,少劳多得,不劳狂得。还好,我是第二种!

  正确的说法是:
@ 在屏幕上不显示命令语句本身,但是会显示命令语句的执行结果;
@echo off 在屏幕上不显示这条语句本身及它之后所有命令语句本身,直到碰上 echo on 语句为止,但是同样会显示命令语句的执行结果。

  之所以只会显示 NO 或者 YES ,是因为批处理的第一条语句是@echo off。

  另外,请修改帖子标题,以便日后搜索的方便,尽量不要带多余的信息。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

哦  好的,原来我这帖子属于其他啊
收入分四种:狂劳不得,多劳少得,少劳多得,不劳狂得。还好,我是第二种!

TOP

不过说老实话,论坛好严格哦,到底是搞技术的论坛
收入分四种:狂劳不得,多劳少得,少劳多得,不劳狂得。还好,我是第二种!

TOP

返回列表