使用批处理脚本重命名文件夹中的多个文件
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
)
我有一个名为 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
)