将数千个文件夹中的jpg文件重命名为avatar.jpg和main.jpg

时间:2018-08-20 03:05:52

标签: powershell batch-file cmd batch-processing

我有数千个文件夹,其中包含2个jpg文件。

例如文件夹1052具有:

4a4df84f7e8d78100ceed89b368be78d.jpg
thumb_4a4df84f7e8d78100ceed89b368be78d.jpg

我想将以thumb_开头的一个重命名为avatar.jpg,将另一个以main.jpg重命名

如何执行此操作? cmd重命名命令会有所帮助还是我需要编写Windows批处理脚本?如果可以,将使用哪些命令?

我使用Windows。

2 个答案:

答案 0 :(得分:1)

只是想出了一个把戏。

使用拇指将所有内容重命名为xyz扩展名

for /R %x in (thumb*.jpg) do ren "%x" avatar.xyz

将剩余的作业文件重命名为main.jpg:

for /R %x in (*.jpg) do ren "%x" main.jpg

将xyz重命名为jpg

for /R %x in (*.xyz) do ren "%x" *.jpg

答案 1 :(得分:0)

您可以一次完成所有操作:

rem // Iterate all `*.jpg` files:
for /F "delims=" %%F in ('dir /S /B /A:-D *.jpg') do (
    rem /* Extract the part of the file name before the first `_`; the leading `-` is added
    rem    to avoid files like `__thumb___xxx.jpg` to be renamed to `avatar.jpg`: */
    for /F "delims=_ eol=_" %%I in ("-%%~nF") do (
        rem // Check the extracted file name part and rename the file accordingly:
        if /I "%%I"=="-thumb" (
            ren "%%~F" "avatar.*"
        ) else (
            ren "%%~F" "main.*"
        )
    )
)

要直接在命令提示符下尝试此操作,请将所有%%更改为%