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%\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特殊字符(转)的更多相关文章
- BAT特殊字符
BAT特殊字符1. 点 与echo连用,作用是换行 示例1 [输出空行] echo. 2 > 定向符[输出] 将命令的输出进行重定向 [一般用于将结果写入文件] 注意 nul 为空设备 > ...
- bat中的特殊字符,以及需要在bat中当做字符如何处理
bat中的特殊字符,以及需要在bat中当做字符如何处理 (2014-02-27 21:16:55) 转载▼ 标签: bat 特殊字符 分类: develop bat中的特殊字符,以及需要在bat中当做 ...
- [转]bat中的特殊字符,以及需要在bat中当做字符如何处理
bat中的特殊字符,以及需要在bat中当做字符如何处理 批处理.Bat 中特殊符号的实际作用,Windows 批处理中特殊符号的作用: @ \\隐藏命令的回显. ~ \\在for中表示使用增强的变量扩 ...
- BAT脚本编写要点_特殊字符
BAT脚本编写要点(1)_特殊字符 分类: 其他 2011-03-20 00:58 5621人阅读 评论(0) 收藏 举报 脚本cdatecmdtreesystem 1. 点 与echo连用,作用是换 ...
- 【转】BAT 批处理脚本 教程
第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在 ...
- windows下Bat命令学习
一.基础语法:1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令.可以使用任何文本文件编辑工具创建和修改.2.批处理是一种简单的程序,可以用 if 和 goto 来控制 ...
- Bat命令学习
基础部分:====================================================================== 一.基础语法: 1.批处理文件是一个“.bat” ...
- 【工作笔记】BAT批处理学习笔记与示例
BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...
- Windows 批处理(bat)语法大全
本文是学习bat整理的笔记,由于内容较多,建议结合右侧文章大纲查看. %~dp0[获取当前路径] %~dp0 “d”为Drive的缩写,即为驱动器,磁盘.“p”为Path缩写,即为路径,目录 cd % ...
随机推荐
- Html 事件列表
Html 事件列表 一般事件:onClick HTML: 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击onDblClick HTML: 鼠标双击事件onMouseDown HTML: 鼠标上的按 ...
- ES6 函数参数的默认值
基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采取变通的方法. function log(x,y){ y = y||'world'; console.log(x,y); } log('k ...
- Ubuntu 16.04下没有/var/log/messages文件问题解决
1.问题描述 今天需要查看Ubuntu系统的日志文件,但却没有找到/var/log/messages这个文件.网上搜素资料,说是要配置/etc/syslog.conf.syslog采用可配置的.统一的 ...
- NServiceBus入门:发布事件(Introduction to NServiceBus: Publishing events)
原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/4-publishing-events/ 侵删. 这个教程到目前为止,我 ...
- Linux命令之sync - 强制将内存中的文件缓冲内容写到磁盘
转:http://www.linuxso.com/command/sync.html sync命令 linux同步数据命令 格式: sync 用途:更新 i-node 表,并将缓冲文件写到硬盘中. 功 ...
- 用Hexo搭建属于自己的iOS技术博客,搬家了
搬家了,本来还打算在博客园混一段时间的,可是当我看到Hexo的时候,已经难以抵挡它的诱惑,简单不简约的界面让我花了整整一天的时间,买域名的过程中发生一点小问题导致DNS解析错误了,但还是成功了.欢迎朋 ...
- 基于Nginx的开墙方案
Kubernetes集群内部通过服务名能进行相互调用,但如果Kubernetes中的pod需要调用外部服务,而且这些外部服务是属于不同的安全区域,就面临开墙的问题,因为Kubernetes Pod能够 ...
- python升级导致yum命令无法使用的解决办法?
yum是依赖特定的python版本的,不同的linux系统需要的python版本不同. 查看yum的启动脚本:which is yum 头一行指定使用的python版本,这个必须是系统需要的,而不要使 ...
- Linq:Group By用法
1.简单形式: var q =from p in db.Products group p by p.CategoryID into g select g; 语句描述:使用Group By按Catego ...
- [转]SQL Server 创建数据库邮件
本文转自:http://www.cnblogs.com/gaizai/p/3358958.html 一. 背景 数据库发邮件通知数据库的运行状态(状态可以通过JOB形式获取)和信息,达到预警的效果. ...