批量文件,用于重命名多个文件夹中的文件

时间:2013-04-23 06:05:13

标签: batch-file rename directory renaming

我有下面给出的文件夹和文件结构。我需要一个MS DOS批处理文件来重命名多个文件夹中的文件。有人可以帮忙吗? TIA。

- 主要文件夹

-->Sub Folder1
    --- File1_EN.txt
    --- File2_EN.txt

--> Sub Folder2
    --- File3_EN.txt
    --- File4_EN.txt

我想将文件名中的后缀“EN”重命名为“ENU”。

4 个答案:

答案 0 :(得分:1)

@echo off
for /D %%d in (*) do (
   ren "%%d\File*_EN.txt" "File*_ENU.txt"
)

答案 1 :(得分:0)

你可以这样做:

@Echo OFF

Set "Folder=C:\Users\Administrador\Desktop\Nueva carpeta"
Set "Suffix=_EN"
Set "Replace=_ENU"
Set "RegEx=\".*%Suffix%\"$" 

FOR /R "%Folder%" %%# in ("*") DO (
    (Echo "%%~n#"| FINDSTR /I "%RegEx%" 1>NUL) && (
    Set "NewFileName=%%~nx#"
    Call Set "NewFileName=%%NewFileName:%Suffix%=%Replace%%%"
    Call Echo [+] Renaming: "%%~nx#" "%%NewFileName%%"
    Ren "%%#" "%%NewFileName%%"
    )
)

Pause&Exit

Findstr是为了确保匹配的字符串是后缀,比使用子字符串或将文件名从“_”字符拆分到右边更好。

答案 2 :(得分:0)

试试这个:

ren folder1\file*.txt file*_enu.txt
ren folder2\file*.txt file*_enu.txt

答案 3 :(得分:0)

如果要更改所有子文件夹,请使用:

get-content |select -last 5