1

以下のようなフォルダとファイル構造があります。複数のフォルダ内のファイルの名前を変更するには、MS DOS バッチ ファイルが必要です。誰でも助けてもらえますか?

- Main Folder

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

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

ファイル名の接尾辞「EN」を「ENU」に変更したい。

4

4 に答える 4

1
@echo off
for /D %%d in (*) do (
   ren "%%d\File*_EN.txt" "File*_ENU.txt"
)
于 2013-04-23T15:17:52.487 に答える
0

これを試して:

ren folder1\file*.txt file*_enu.txt
ren folder2\file*.txt file*_enu.txt
于 2013-04-23T14:13:47.307 に答える
0

すべての子フォルダーを変更する場合は、次を使用します。

for /f "delims=*" %a in ('dir File*_EN.txt /b /s') do ren "%a" File*_ENU.txt
于 2016-04-08T19:13:49.050 に答える
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 は、一致する文字列がサフィックスであることを確認するためのものであり、部分文字列を実行したり、ファイル名を「_」文字から右側に分割したりするよりも優れています。

于 2013-04-23T07:28:05.270 に答える