batch-file - 在文件夹中,Windows 批处理脚本获取文件名子字符串

  显示原文与译文双语对照的内容

我想遍历一个文件夹,只获取文件名的最后 13个字符。 我所做的部分如下:


for/r. %%g in (*.pdf) do (
 set var=%%~g
 echo %var:~-13%
)

我的问题是,它只为文件夹中的所有文件打印一个文件名。 比如 我将以下文件名作为输入:


ARC_1384343086954570285.pdf, 
ARC_1384343288950263728.pdf, 
ARC_1384343297950370887.pdf. 

输出输出为:


950370887.pdf
950370887.pdf
950370887.pdf

时间: 作者:

任何时候在循环中设置变量时,都必须使用delayedexpansion来访问它。


setlocal enabledelayedexpansion
for/r. %%g in (*.pdf) do (
 set var=%%~g
 echo!var:~-13!
)

作者:
...