windows下批处理常用句法

前端之家收集整理的这篇文章主要介绍了windows下批处理常用句法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、%data:~0,4%

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

@H_301_5@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’.
示例:去除字符串中所有的空格

@H_301_5@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 主要用来处理文件和一些命令的输出结果。
【命令格式】

@H_301_5@(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--注意单引号

【参数说明】

@H_301_5@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相关文章