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%\program\d.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

BAT特殊字符(转)的更多相关文章

  1. BAT特殊字符

    BAT特殊字符1. 点 与echo连用,作用是换行 示例1 [输出空行] echo. 2 > 定向符[输出] 将命令的输出进行重定向 [一般用于将结果写入文件] 注意 nul 为空设备 > ...

  2. bat中的特殊字符,以及需要在bat中当做字符如何处理

    bat中的特殊字符,以及需要在bat中当做字符如何处理 (2014-02-27 21:16:55) 转载▼ 标签: bat 特殊字符 分类: develop bat中的特殊字符,以及需要在bat中当做 ...

  3. [转]bat中的特殊字符,以及需要在bat中当做字符如何处理

    bat中的特殊字符,以及需要在bat中当做字符如何处理 批处理.Bat 中特殊符号的实际作用,Windows 批处理中特殊符号的作用: @ \\隐藏命令的回显. ~ \\在for中表示使用增强的变量扩 ...

  4. BAT脚本编写要点_特殊字符

    BAT脚本编写要点(1)_特殊字符 分类: 其他 2011-03-20 00:58 5621人阅读 评论(0) 收藏 举报 脚本cdatecmdtreesystem 1. 点 与echo连用,作用是换 ...

  5. 【转】BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在 ...

  6. windows下Bat命令学习

    一.基础语法:1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令.可以使用任何文本文件编辑工具创建和修改.2.批处理是一种简单的程序,可以用 if 和 goto 来控制 ...

  7. Bat命令学习

    基础部分:====================================================================== 一.基础语法: 1.批处理文件是一个“.bat” ...

  8. 【工作笔记】BAT批处理学习笔记与示例

    BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...

  9. Windows 批处理(bat)语法大全

    本文是学习bat整理的笔记,由于内容较多,建议结合右侧文章大纲查看. %~dp0[获取当前路径] %~dp0 “d”为Drive的缩写,即为驱动器,磁盘.“p”为Path缩写,即为路径,目录 cd % ...

随机推荐

  1. [转]iBatis简单入门教程

    iBatis 简介: iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快.如果不需要太多复杂的功能,iBatis 是能够满足 ...

  2. Xcode8 报 ”xx“is missing from working copy 的问题解决方法

    方法一: Xcode->Preferences->Source->Enable Source Control 勾勾去掉 方法二: Xcode8更新后,编译工程一下子报出800多条类似 ...

  3. 汇编语言---GCC内联汇编

    转:http://www.cnblogs.com/taek/archive/2012/02/05/2338838.html GCC支持在C/C++代码中嵌入汇编代码,这些代码被称作是"GCC ...

  4. jq:zclip复制

    实例: <script type="text/javascript" src="js/jquery.js"></script> < ...

  5. .net中的泛型

    泛型把类或方法的类型的确定推迟到实例化该类或方法的时候 ,也就是说刚开始声明是不指定类型,等到要使用(实例化)时再指定类型 泛型可以用于  类.方法.委托.事件等 下面先写一个简单的泛型 public ...

  6. AQTime教程

    1 简介 AQTime和MemProof都是AutomatedQA旗下的产品,AQTime比MemProof提供了更丰富强大的功能.该产品含有完整的性能和调试工具集,能够收集程序运行时关键的性能信息和 ...

  7. 如何使用 awk 按模式筛选文本或字符串

    在筛选文本时,有时你可能想根据某个给定的条件或使用一个可被匹配的特定模式,去标记某个文件或数行字符串中的某几行.使用 awk 来完成这个任务是非常容易的,这也正是 awk 中可能对你有所帮助的几个功能 ...

  8. shell的浮点运算

    参考: https://www.linuxquestions.org/questions/linux-software-2/multiply-floats-in-bash-script-618691/ ...

  9. WCF 之 初识WCF

    在编程中服务的作用越来越大了,.net从2.0的 webservice,到3.5之后的WCF,服务的功能越来越强了.现在先从简单的看起,先看看WCF服务的发布. 现在来看看一步一步发布 WCF 服务. ...

  10. 新手IOS tweak越狱app开发记录

    需要改变原先程序功能流程的话,是要用到Logos Tweak 开发.另外,.在苹果商城下载到的app,不能直接拿来分析.需要先做一定的前期准备.网上有很多相关的写第一个越狱插件的文章,这里就不在赘言了 ...