我有一个名为TEST的文件夹。里面有30个文件。
示例:
DIM1_UPI_20170102.TXT
DIM2_UPI_20170908.TXT
DIM3_UPI_20180101.TXT
...
我必须通过删除日期标记来重命名它们 Exapmple:
DIM1_UPI.TXT
DIM2_UPI.TXT
DIM3_UPI.TXT
请帮我写一下批处理文件?
答案 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
)