批处理文件以减少文件名的长度

时间:2010-09-13 15:11:25

标签: batch-file batch-processing

我下载这样的文件名.. batchengine-6099-1283555555-60054_20100910_0006.era并想将它们重命名为60054_20100910_0006.era。名称更改但格式相同,需要语句重命名以.era结尾的所有大文件

1 个答案:

答案 0 :(得分:1)

我无法访问Windows框,但有类似的内容:

SETLOCAL EnableExtensions EnableDelayedExpansion
FOR %%I IN (batchengine-*.era) DO (
    SET NAME=%%~nI
    RENAME "%%I" "!NAME:~28!%%~xI"
)
ENDLOCAL

在控制台中输入FOR /?SET /?SETLOCAL /?,以获取有关语法的所有详细信息。希望我有一些非常接近的东西。您需要在循环中引入新变量,以便可以访问扩展语法到下标 - 例如,!NAME:~28!选择从字符28开始的子字符串。!NAME!是一个延迟扩展参考。在其中一个命令概要页面中解释了对此的需求。