zoukankan      html  css  js  c++  java
  • DOC @echo off call

    @echo off就是说关闭回显 

    @echo off并不是DOS程序中的, 
    而是DOS批处理中的。 
    当年的DOS,所有操作都用键盘命令来完成, 
    当你每次都要输入相同的命令时, 
    可以把这么多命令存为一个批处理, 
    从此以后,只要运行这个批处理, 
    就相当于打了几行、几十行命令。 

    DOS在运行批处理时, 
    会依次执行批处理中的每条命令, 
    并且会在显示器上显示, 
    如果你不想让它们显示, 
    可以加一个“echo off” 

    当然,“echo off”也是命令, 
    它本身也会显示, 
    如果连这条也不显示, 
    就在前面加个“@”。 

    =============echo 介绍============== 
    1. 作为控制批处理命令在执行时是否显示命令行自身的开关 

    格式:ECHO [ON|OFF] 

    2. 显示当前ECHO设置状态 

    格式:ECHO 

    3. 输出提示信息 

    格式:ECHO信息内容 

    4. 关闭DOS命令提示符 

    在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出现. 

    5. echo 加%appdata%   显示环境变量appdata的变量值  appdata是系统m默认的环境变量 
    C:\Users\admin>echo %appdata% 
    C:\Users\admin\AppData\Roaming 

    6:建立新文件或增加文件内容 

      格式:ECHO 文件内容>文件名 

      ECHO 文件内容>>文件名 

      例如:C:>ECHO @ECHO OFF>AUTOEXEC.BAT建立自动批处理文件 

      C:>ECHO C:\CPAV\BOOTSAFE>>AUTOEXEC.BAT向自动批处理文件中追加内容 

      C:TYPE AUTOEXEC.BAT显示该自动批处理文件 

      @ECHO OFF 

      C:\CPAV\BOOTSAFE 


    5:输出空行,即相当于输入一个回车 

      格式:ECHO 

      值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/[\]+等任一符号替代。 

      在下面的例子中ECHO.输出的回车,经DOS管道转向作为TIME命令的输入,即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态: 

      C:>ECHO.|TIME 

      ECHO命令输出空行的另一个应用实例是:将ECHO.加在自动批处理文件中,使原本在屏幕下方显示的提示画面,出现在屏幕上方。 
    ================call的用法==================== 
    call 从批处理程序调用另一个批处理程序 

    call有几种用法 

    第一种用法,也就是最常用的一种,调用另一个批处理,在被调用的批处理执行完后在执行call下面的命令。如: 

    1 @echo off  
    2 call a.bat  
    3 dir c:\  
    4 pause  

    如果在被调用的批处理里面有参数,调用的时候需要在后面加上参数。 

    如: 

    a.bat内容: 

     
    1 @echo off  
    2 echo %0 %1  

    b.bat内容: 

    1 @echo off  
    2 call a.bat hello  
    3 dir c:\  
    4 pause  

    那么,在执行b.bat的时候,会将hello赋值给%1,而%0代表a.bat自己。 
    (在批处理中,可以使用%*代表所有参数%1-%9代表9个参数,%0代表批处理自己,其扩展用法见call /?,在讲for的时候也会讲到) 
    在这里讲下goto :eof的用法,如: 

    a.bat内容: 

    1 @echo off  
    2 echo %0 %1  
    3 goto :eof  

    b.bat内容: 

     
    1 @echo off  
    2 call a.bat hello  
    3 dir c:\  
    4 pause  

    这里,在显示完hello后,会执行dir c:\并暂停,如果将goto :eof改成exit,在显示完hello后就会自动退出。因为goto :eof后会转到a.bat结尾,即只退出a.bat然后会继续执行dir;由于call a.bat,在执行a.bat和b.bat是一个CMD窗口,exit的话就会直接退出这个窗口,这就是goto :eof和exit区别。 

    call的第二种用法,调用一个命令,如:call ping 127.1,这和直接ping 127.1看似是一样的,但还是有区别的。主要用法就是call set,在后面讲延迟环境变量的时候慢慢体会。 
    call的第三种用法,调用一个应用程序,call notepad.exe。call可以这么用,但一般在调用应用程序的时候会使用start,很少用call。 
    call的第四种用法,调用本批处理中的一个标签。如: 

    1 @echo off  
    2 call :no1  
    3 start notepad.exe  
    4 exit  
    5 :no1  
    6 start calc  
    7 ping /n 2 127.1>nul  

    在这里会先打开计算器,然后打开记事本。在call标签的时候要加上“:”。 

    这与goto有什么区别呢?在看一个例子: 

    @echo off  
    goto :no1  
    start notepad.exe  
    exit  
    :no1  
    start calc  
    ping /n 2 127.1>nul  
  • 相关阅读:
    为调试JavaScript添加输出窗口
    后悔自己没有学好数学
    IEnumeralbe<T>被误用一例
    开发软件真是一件有意思的事情
    在网页上实现WinForm控件:ComboBox
    WinForm异步编程中一个容易忽视的问题
    网页上的DataGridView
    用Excel生成代码
    游戏处女作 打方块
    用GDI+保存Image到流时的一个有趣现象
  • 原文地址:https://www.cnblogs.com/laj12347/p/2962602.html
Copyright © 2011-2022 走看看