这个Batch Scripting语法究竟做了什么?

时间:2016-01-12 20:00:17

标签: batch-file

SET jobnumber=%CD:~6,6%

虽然我熟悉CD命令,但我以前从未见过这种特殊的语法,我无法找到准确的目的。我发现的最接近的事情是:

CD /d "%~dp0"

- 仅执行CD到批处理脚本文件的位置。但是,我找不到关于第一个示例中显示的确切语法的任何内容。在批处理文件中,稍后会调用该变量,如下所示:

SET filepath=C:\info\jobs\%jobnumber%

作业文件夹包含几十个子文件夹,所有这些子文件夹都有一个六位数的名称。剧本从未完成,所以没有什么可以继续下去,让我处于极度好奇的状态。想法?

1 个答案:

答案 0 :(得分:2)

%CD%变量包含当前目录。

另一种语法指定扩展的子字符串。

(来自set /?

%PATH:~10,5%

会扩展PATH环境变量,然后只使用5 从展开的第11个(偏移10)字符开始的字符 结果。如果未指定长度,则默认为 变量值的其余部分。如果是数字(偏移或长度) 否定,则使用的数字是环境变量的长度 值添加到指定的偏移量或长度。

%PATH:~-10%

将提取PATH变量的最后10个字符。

%PATH:~0,-2%

将提取除PATH变量的最后2个字符之外的所有字符。