windows之bat脚本对字符串截取的操作

2023-05-16

set name1=%1
set newname=%name1:~0,-8%

在 Windows 的批处理 (bat) 脚本中,%name1:~0,-8% 表示对变量 name1 进行字符串截取操作,取它的起始索引为 0,长度为减去 8 的子字符串作为新的变量值。

具体来说,这个语法中的 %name1% 表示对名为 name1 的变量进行求值,: 后面的 ~ 符号表示后面跟着的是一个子字符串操作,0 表示子字符串的起始索引,-8 表示要减去的长度。

例如,如果 name1 的值为 example.txt,那么 %name1:~0,-4% 的结果就是 example,即去掉 .txt 后缀的文件名部分。

需要注意的是,:~ 语法还可以实现其他各种字符串操作,例如:

%variable:~start,length%:从变量的 start 索引位置开始,取出长度为 length 的子字符串。
%variable:~start%:从变量的 start 索引位置开始,取出整个字符串(即不指定长度时默认取到字符串末尾)。
%variable:~-length%:从变量的末尾往前数,取出长度为 length 的子字符串。
%variable:~1,-1%:从变量的第 2 个字符开始,取出除了第 1 个和最后 1 个字符以外的子字符串。
通过这些字符串操作,可以方便地对变量的值进行处理,提取出目标部分或者进行格式转换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows之bat脚本对字符串截取的操作 的相关文章

随机推荐