zoukankan      html  css  js  c++  java
  • BAT特殊字符(转)

    BAT特殊字符
    1. 点 
    与echo连用,作用是换行 
    示例1 [输出空行] 
    echo. 


    2 > 定向符[输出] 
    将命令的输出进行重定向 [一般用于将结果写入文件] 
    注意 nul 为空设备 >nul 则用于屏蔽输出内容 [如 pause>nul] 
    示例2 [向1.txt中写入字符串 wind] 
    echo wind>1.txt 


    3 >> 定向符[输出] 
    将命令的输出进行重定向 [一般用于将结果写入文件] 
    注意,定向到文件时,它是在末尾追加 > 则会覆盖 
    示例3 [向1.txt中追加写入字符串 wind] 
    echo wind>>1.txt 


    4 < 定向符[输入] 
    配合set /p 使用时,从指定的文件中获取字符串 赋值给变量 
    示例4 [将1.txt中第1行内容赋值给变量 wind] 
    set /p wind=<1.txt 



    5 & 连接符 
    连接两个命令 
    注意 不论前面的命令是否成功执行 后面的命令都将执行 
    示例5 [依次执行两个echo 命令] 
    echo wind& echo snow 


    6 && 连接符 
    连接两个命令 
    注意 仅当前面的命令成功执行时 后面的命令才会被执行 
    示例6 [echo 命令成功执行 type 命令也将被执行] 
    echo wind&& type 1.txt 
    示例7 [hello 命令执行失败 type 命令不会被执行] 
    hello&& type 1.txt 


    7 || 连接符 
    连接两个命令 
    注意 仅当前面的命令执行失败时 后面的命令才会被执行 
    示例8 [echo 命令成功执行 type 命令不会被执行] 
    echo wind|| type 1.txt 
    示例9 [hello 命令执行失败 type 命令将被执行] 
    hello|| type 1.txt 


    8 | 传递符 
    将前面命令的结果 传递给后面的命令使用 [一般用于查找] 
    示例10 [显示字符串wind 并 传递给find 查找 关键字 w] 
    echo wind| find "w" 
    2,6,7,8综合 示例11 [将字符串传递给find查找 并 输出查找结果] 
    echo wind| find "w">nul&& echo 找到字符w|| echo 未找到字符w 


    9 ^ 转义符 [脱字符] 
    脱去特殊符号的作用 使之成为一个纯粹的符号 
    示例12 [输出字符串 &&&&& ] 
    echo ^&^&^&^&^& 



    10 @ at 
    其作用相当于 echo off 不显示命令本身 
    不同之处是@仅处理单个命令 echo off则是全局的 
    示例13 [命令行不会显示] 
    @echo wind 


    11 % 百分号 
    两个百分号表示取值 
    示例14 [显示变量 wind 的值 smile] 
    set wind=smile 
    echo wind的值为 %wind% 
     注意,如果要输出一个百分号 则在批处理中要写成两个 


    12 * 星号 
    通配作用 
    示例15 [删除所有文本文件] 
    del *.txt

    批处理中%cd%与%~dp0的区别

    /*
     * directory structure
     * c:
     * -c.bat
     * -program
     *        -d.bat
     */
    /* c.bat */
    call "%cd%programd.bat"
    /* d.bat */
    @echo off
    echo cd = %cd%
    echo dp0 = %~dp0

    直接运行d.bat,结果为

    cd = C:program
    dp0 = C:program

    直接运行c.bat,结果为

    cd = C:
    dp0 = C:program

    从上面的结果可以看出:

    • 执行d.bat时,当前工作目录为d.bat所在目录;
    • 执行c.bat时,当前工作目录为c.bat所在目录,即使在调用d.bat后,该工作目录依旧是c.bat所在目录。

    问题总结

    我们来重申下%~dp0和%cd%的区别,%cd%和%~dp0都能用来表示当前目录,但是他们在不同的使用场景下,功能却不相同:

    • %cd%代表的是当前工作目录(current working directory,variable);
    • %~dp0代表的是当前批处理文件所在完整目录(the batch file’s directory,fixed)。

    从目前我们的使用情况来看,尽量使用%~dp0,不建议使用%cd%,有其他需求除外

    参考:

    http://www.cnblogs.com/dongzhiquan/p/6551509.html

    http://freehacker.cn/developing/system/dos-current-path/?utm_source=tuicool&utm_medium=referral

  • 相关阅读:
    PHP_SELF、 SCRIPT_NAME、 REQUEST_URI 区别
    用canvas画弧形进度条
    sass/scss 和 less的区别
    vue-router 知识点记录
    vue-cli中全局组件的注册使用
    传统项目转前端工程化——路由跳转时出现浏览器锁死和白屏【该死的同步ajax】
    亲身实践 yui-compressor压缩js和css
    vue-webpack 做出来的项目部署到服务器上,点开是空白页(我这里把项目发布到git上)
    git相关
    对象中的方法积累
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/7076096.html
Copyright © 2011-2022 走看看