1、%data:~0,4%

假设:箭头→ ← 分别表示向右、向左
   set aa=1234567890

echo %aa:~1,5%      //指针向右→偏移1位,然后从指针处开始向右→提取5个字符.
echo %aa:~0,-3%     //指针不偏移,→提取所有字符,并除去最后3个字符.
echo %aa:~5%        //单个数字,不指定长度值.表示指针→偏移5个字符,然后,→提取所有字符.
echo %aa:~-5%       //单个负值,特例,表示指针反方向偏移,从最右端起,←偏移5位,然后从指针处开始提取所有字符.也可以简单理解为提取字符串末尾5个字符.

小结

1、偏移量为正值时,表示指针向右移动;为负值时,表示指针从字符串最右端起向左移动.
2、如果长度值为正,表示向右提取若干个字符;如果为负,表示向右提取所有字符,并去除若干个字符.”若干个=长度值的绝对值。”提取字符的方向总是自左向右进行的.
3、如果为单个数字,那么这个数字表示的是偏移量,长度值取默认值,既是字符串的”余数”,也就是从指针处开始,向右方向的所有字符.如果这个数字是负数,可以简单的理解为:提取字符串末尾的若干个字符.(正确的解释应该是:表示指针反方向偏移,从最右端起,←偏移若干位,然后从指针处开始→提取所有字符)

参考网址:https://blog.csdn.net/cyxlxp8411/article/details/7555541

2、%variable:str1=str2%

  %variable:str1=str2% which means: ‘replace every str1 in variable with str2’.
示例:去除字符串中所有的空格

set abc=             u            v  w          x    y          z
set "abc=%abc: =%"
echo 去除所有空格后结果为:%abc%  

参考网址:https://stackoverflow.com/questions/5816178/how-to-replace-string-inside-a-bat-file-with-command-line-parameter-string
https://en.wikipedia.org/wiki/Batch_file
https://blog.csdn.net/sinat_16741503/article/details/72869123

3、for /f 详解

  for /f 主要用来处理文件和一些命令的输出结果。
【命令格式】

(1).FOR /F ["options"] %%i IN (file) DO command
(2).FOR /F ["options"] %%i IN ("string") DO command--注意双引号
(3).FOR /F ["options"] %%i IN ('command') DO command--注意单引号

【参数说明】

file代表一个或多个文件,可以使用通配符。
string 代表字符串
command代表命令
["options"]选项有多个:eol=c           - 指定一个行注释字符,遇到c开头的行就忽略掉。skip=n          - 指定在文件开始时忽略的行数。delims=xxx      - 指定分隔符。默认是空格和TAB。tokens=x,y,m-n  - 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致额外变量名称的分配。m-n格式为一个范围。通过 nth 符号指定 mth。如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。
usebackq     -详见下节      

未使用usebackq和使用usebackq时集合内的符号比较:

未使用参数usebackq时 使用参数usebackq时
双引号”” 表示字符串,即”string”。 当文件路径或名称中有空格时,用双引号括起来。
单引号’’ 表示执行命令,即’command’ 。 表示字符串,即’string’ 。
后引号“ 表示命令执行,即“command”。

参考网址:http://www.bathome.net/thread-9512-1-1.html
https://blog.csdn.net/gameloft9/article/details/20902681
http://www.360doc.com/content/15/1014/01/1564981_505480271.shtml

windows下批处理常用句法相关推荐

  1. windows下批处理删除文件及注册表项

    1.windows下批处理删除注册表项 假如我要清除WinRAR的历史记录,可以新建个批处理文件, 然后在里面加入如下文字: reg delete HKEY_CURRENT_USER/Software ...

  2. Windows下批处理if exist用法的注意事项

    作者:朱金灿 来源:https://blog.csdn.net/clever101 今天发现Windows下批处理if exist和del用法比较坑爹. 主要表现在if exist的格式要求比较严格, ...

  3. windows下批处理删除文件夹、删除文件、if exist用法

    windows下批处理删除文件夹.删除文件.if exist用法 开发中用到Window批处理del.rd.if exist,总结用法便于后续使用. windows下批处理删除文件: * 使用del指 ...

  4. windows下python常用库的安装

    windows下python常用库的安装,前提安装了annaconda 的python开发环境.只要已经安装了anaconda,要安装别的库就很简单了.只要使用pip即可,正常安装好python,都会 ...

  5. windows下 conda常用使用指令

    conda的常用命令操作 # 创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本) conda create --n ...

  6. windows下cmd常用的命令

    2019独角兽企业重金招聘Python工程师标准>>> windows下常用的命令指示行: windows下 CMD比较常见的命令1. gpedit.msc-----组策略 2. s ...

  7. Windows下的常用的DOS命令

    用的DOS命令. 1.dir dir是英文单词directory(目录)的缩写,主要用来显示一个目录下的文件和子目录. [功能]显示指定磁盘.目录中的文件和子目录信息,包括文件及子目录所在磁盘的卷标. ...

  8. Windows下cmd常用命令【5分钟掌握】

    基础: 进入某个目录 // 进入D盘 D: // 进入F盘 F: 容易和Linux搞错,不可用cd切换盘符 显示当前目录 // 等效于Linux下pwd cd 3. 查看当前目录 //查看当前目录下的 ...

  9. windows下dos常用命令集合

    作为一个Liunx用户,一句话总结写这个的原因,就是能用命令行的绝不用鼠标点 创建目录:mkdir xxx 批量创建目录:可以用mkdir不带参,回车然后目录名一个一个录入最后再回车,或者写一个.ba ...

最新文章

  1. 一文告诉你,谷歌是否真的实现了「量子至上」
  2. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-7主节点CM安装子节点Agent配置...
  3. c语言在线编译器_C语言和汇编语言是什么?他们之间可以有怎样的合作?为你解析...
  4. ES6中解构赋值深入解读
  5. nbiot开发需要掌握什么_学习软件开发需要准备什么?
  6. Java_WEB项目OOM(OutOfMemError内存溢出) MyEclipse配置Jvm内存
  7. String 和 StringBuffrer 的区别
  8. 京东发布公告禁售87款游戏
  9. jqueryui时间插件_jQueryUI工具提示插件
  10. merge into用法mysql_Oracle MERGE INTO的用法示例介绍
  11. 程序设计导引及在线实践_四金一银!西电在计算机系统与程序设计竞赛再创佳绩...
  12. 【原】YUI3:js加载过程及时序问题
  13. jenkins+docker进行coverity检查自动构建
  14. DNS解析出错导致网站在部分地区无法打开
  15. “酷我音乐”借“大数据”名义 恐已窥探并收集用户隐私长达数年
  16. Openlayer 切换鼠标样式
  17. 获取当前时间的东八区时间
  18. macbook上好用的解压软件_苹果电脑有什么好用的解压软件?推荐 Mac OSX 下最方便实用的六款解压缩软件...
  19. 百度地图添加自定义点标记、文本标注、点标记
  20. CentOS8设置时间同步

热门文章

  1. JS获取元素的第一个子节点
  2. java 龟兔赛跑预测_[Java] 蓝桥杯BASIC-24 基础练习 龟兔赛跑预测
  3. 电脑端的mafsvr服务关掉_网吧才是电脑优化的精髓!学会3招你也不用羡慕网吧的流畅了...
  4. linux java运行环境_linux(centos)中java运行环境_jdk安装与配置 | OPS技术联盟
  5. Win10设置防火墙,使局域网能访问此电脑的Tomcat服务
  6. springboot搞定全局自定义异常
  7. java 中怎么比较两个时间相差的秒数
  8. IntelliJ IDEA类注释模板设置
  9. 推荐常用的小程序Ui框架
  10. Cosmos互联链通信技术规范(上)