美文网首页windows脚本
Windows 脚本学习(第二章:显示篇)

Windows 脚本学习(第二章:显示篇)

作者: 東飛 | 来源:发表于2017-04-25 12:38 被阅读116次

    有了前文作铺垫和基础,后面的便容易理解多了。这里主要讨论的是批处理过程中与显示相关的命令用法。先看一下 echo、@、pause、>、>>、title 、rem 这几个命令或符号的用法。

    • 2.1 echo 、@ 和 pause

    在DOS命令提示符中使用 echo /? 可以获得对 echo 用法的解释。
    echo on用于打开命令的回显;
    echo off用于关闭命令的回显(默认情况下,echo 是处于打开状态的)。
    只输入 echo可以获得当前的回显状态(是否处于打开状态)。
    输入 echo 再加一段文字,例如 echo Hello world! 可以显示出 Hello world! 这句信息。

    【 @ 】 ,如果在某一条命令最前面加上 @ ,那么这一行命令就不会显示出来与 echo off 有着相似之处。 echo off 以后的所有命令本身都不再显示出来;而 @ 只是将当前那一行的命令不显示出来。然而,至于命令所产生的输出结果,仍然会显示出来。这看起来似乎有些拗口,但我们会通过例子来很容易地理解它们。

    【 pause 】从字面上看就是暂停的意思,效果等同于将程序挂起,在按下任意键后才继续。

     ::::::::测试显示状态.bat:::::::: 
    echo 
    pause 
    
    echo 例句一 此时回显为打开状态,因此前一句显示了命令行 
    @echo 例句二 此时回显虽然为打开状态,但命令前使用了@,因此未显示命令行本身 
    pause 
    
    echo off 
    echo 
    echo 例句三 此时回显为关闭状态,因此未显示命令行本身 
    @echo 例句四 此时回显为关闭状态且使用了@,因此未显示命令行本身 
    pause 
    :::::::::::::::::::::::::::::::: 
    

    上面的这一段批处理测试,有效地展示了在使用 echo on 和 echo off ,以及在命令前加上 @ 符号后,命令行本身的显示效果。不适用于win10

    2.2 > 和 >>

    【>】 表示将输出结果打印到某处。
    比如:echo Hello world!>d:\a.txt表示将 Hello world! 这句话写入到 D:\a.txt 文件中。如果以前该文件中已经存在,并且有自己的内容,那么以前的内容就被覆盖掉了。比如我们再输入:echo yo, whats up>d:\a.txt,那么文件 a.txt 中以前的 Hello world! 就变成了现在的新例句。

    【>> 】与 【>】 类似,也可以将输出结果打印到某处。
    比如我们用echo nothin much, and u?>>d:\a.txt 将例句写到 a.txt 里时,该例句并不会覆盖原有的 yo, whats up 这句话,而是加在了原句的后面。

    如果一条命令后面跟上 >nul
    比如 pause>nul 表示将 pause 这条命令的输出显示到空设备里,
    nul 表示为空。用了 pause>nul 这条命令后,"按任意键继续..."的提示就不再出现了。

    对比 echo off、@ 和 >nul 。
    echo off 表示这以后的所有命令的本身不再显示了,直到后面有 echo on 的出现。
    而加在命令行前面的 @ 只是让当前这一行命令不显示。
    加在命令行后面的 >nul 却可以让该命令的输出不显示。

    • 2.3 title 和 rem

    title 后面跟字符串可以改变当前命令提示符的标题名称。
    输入 title 这是新标题后,该命令提示符左上角的标题名称已经变为"这是新标题"了。
    输入中文可以通过 Ctrl+空格 切换出中文输入法;也可以通过复制粘贴的方式输入。

    【rem】 的用法就很简单了,rem 后面跟上一段文字,在批处理中可以作为注释用。rem 和它后面跟的文字在实际运行时并不会起任何作用,只是为了方便人们阅读该批处理时更容易理解而已(如果您用过C的话,一定会联想到C语言里的 // 或 /* */ 的用法)。

    除了 rem 外,两个连续的冒号{【::】 也起同样的作用。
    提示:rem 与 :: 的区别在于,rem 也是一种命令,在 echo on 的情况下会被显示出来,而 :: 却不会。

    
    :::::::测试标题和注释.bat::::::: 
    @echo off 
    rem 上条命令表示以后所有的命令行不再显示自身,@表示连echo off这一句都不显示,当前这一行只是注释而已,不参与程序的运行。 
    
    echo 欢迎! 
    pause 
    
    title 现在标题已经换成这句了 
    echo 标题已更改 
    
    echo 现在使用了暂停,按任意键后该批处理结束~ 
    pause>nul 
    rem 不显示pause的输出提示,而是使用我们自己定义的暂停提示。 
    :::::::::::::::::::::::::::::::: 
    
    • 2.4 其他命令

    prompt ,这就是命令提示符中所谓的"提示符"了。
    在命令提示符中输入 prompt 加一段文字能够使得提示符不再是以传统的路径名和大于号组成的,而是以我们刚才输入的那段文字开头的。这也许不是很好理解,或者您对 prompt 的含义还不清楚或只知道其字面含义。这并不要紧,如果您只要简单地输入 prompt 提示符就能很快地明白 prompt 的含义了。
    此外,要想恢复以前的路径名和大于号为开头的提示符,只需要再输入prompt $p$g即可。这里【$p】 表示当前驱动器和路径, 【$g】 表示大于号。
    因为一些特殊的格式或符号需要用 $ 加特定的字母来表示。
    具体的说明可以用 help prompt 来查询。

    相关文章

      网友评论

        本文标题:Windows 脚本学习(第二章:显示篇)

        本文链接:https://www.haomeiwen.com/subject/uilvzttx.html