ITEEDU

变量替换

已经增强了 for 变量引用的替换修改程序。下表列出可选语法(对于任意变量 I)。

%~I:展开删除任何前后引号 ("") 的 %I。

%~fI:将 %I 展开到完全合格的路径名。

%~dI:只将 %I 展开到驱动器号。

%~pI:只将 %I 展开到路径。

%~nI:只将 %I 展开到文件名。

%~xI:只将 %I 展开到文件扩展名。

%~sI:展开路径以只包含短名称。

%~aI:将 %I 展开到文件的文件属性。

%~tI:将 %I 展开到文件的日期和时间。

%~zI:将 %I 展开到文件大小。

%~$PATH:I:搜索 PATH 环境变量所列出的目录,并将 %I 展开到第一个找到的完全合格的名称。如果没有定义环境变量名称,或搜索没有找到文件,则此修改程序扩展成空字符串。

下表列出可用来获得综合结果的修改程序组合。

%~dpI:只将 %I 展开到驱动器号和路径。

%~nxI:只将 %I 展开到文件名和扩展名。

%~fsI:将 %I 展开到只包含短名称的完整路径名。

%~dp$PATH:I:在 PATH 环境变量中所列出的目录中搜索 %I,并展开到第一个找到结果的驱动器号和路径。

%~ftzaI:将 %I 展开到输出行(如 dir一样)。

在上述范例中,可以用其它有效值替换 %I 和 PATH。有效的 for 变量名终止 %~ syntax。

使用大写变量名(例如 %I),可以使代码更具可读性,并且避免与不区分大小写的修改程序混淆。

解析字符串

通过将 Filenameset 包括在圆括号内,并且外面再带上单引号(即,'filenameset'),可以使用 for /F 对直接字符串解析逻辑。将 Filenameset 视为从某个文件输入的单行,然后接受解析。

解析输出

通过将圆括号之间的 filenameset 变为后面带有引号的字符串,可以利用 for /F 命令解析命令输出。将它作为命令行,此命令被传递给子 Cmd.exe,并将输出捕获到内存并进行解析,就象它是一个文件一样。

未完见下页