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

Rename Multiple Files in a folder using batch script

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

示例:

DIM1_UPI_20170102.TXT

DIM2_UPI_20170908.TXT

DIM3_UPI_20180101.TXT

...

我必须通过删除日期标签来重命名它们 示例:

DIM1_UPI.TXT

DIM2_UPI.TXT

DIM3_UPI.TXT

你能帮我用批处理文件写这个吗?

假设您的文件都以 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
)