使用批处理脚本重命名文件夹中的多个文件

时间:2018-02-08 05:49:19

标签: batch-file command-line command-prompt batch-rename

我有一个名为TEST的文件夹。里面有30个文件。

示例:

  

DIM1_UPI_20170102.TXT

     

DIM2_UPI_20170908.TXT

     

DIM3_UPI_20180101.TXT

     

...

我必须通过删除日期标记来重命名它们 Exapmple:

  

DIM1_UPI.TXT

     

DIM2_UPI.TXT

     

DIM3_UPI.TXT

请帮我写一下批处理文件?

1 个答案:

答案 0 :(得分:0)

假设您的文件都以DIM

开头
@echo off
setlocal enabledelayedexpansion
for /f %%i in ('dir "*.TXT" /b /a-d') do (
 set "var=%%~ni"
 echo ren !var!%%~xi !var:~0,-9!%%~xi
)

一旦您确认它符合您的要求,那么只需从最后一行删除echo即可实际重命名文件。

重要说明。如果您的文件具有相似的名称,但日期条目不同,则无法按照您的想法运行。例如:

  

DIM2_UPI_20170910.TXT

     

DIM2_UPI_20170908.TXT

名称相同,但日期不同,每个文件名都是唯一的。如果你重命名它们,那么只有1 DIM2_UPI.TXT所以只要你明白这一点,你就可以了。

编辑:基于亚马逊驱动器问题。请注意,您需要将目录部分更改为访问亚马逊驱动器的方式。

@echo off
setlocal enabledelayedexpansion
for /f %%i in ('dir "DIM*" /b /a-d') do (
 set "var=%%~ni"
 echo ren !var!%%~xi !var:~0,-16!%%~xi
)