如何批量更改文件扩展名的子文件夹中的[复制](How to Batch change file ex

2019-08-17 10:21发布

这个问题已经在这里有一个答案:

  • 如何在子目录重命名文件? 15个回答

我是很新的命令提示符下,只有使用它作为1天前开始。

我有一个文件夹的位置,例如C:\Users\Administrator\Desktop\Images ,以及该文件夹内有大约650子文件夹,每个包含大约20图片,JPG文件和PNG的的混合。 我找了CMD命令行,将经过的所有子文件夹和改变每个.png文件转换成.jpg的文件。

我做了一些研究,发现了一些信息,但它是非常难以遵循和理解,我仍然无法做到这一点。 我希望保持文件名,但改变从每个文件扩展名.png.jpg

我明白,1个文件夹,该线是一样的东西ren *.png *.jpg 。 然而,这并不适用更改子文件夹。

Answer 1:

如果我理解正确的话,你只希望将文件从命名.png.jpg ,而不是将它们转换,你可以使用以下批号:

@ECHO OFF
PUSHD .
FOR /R %%d IN (.) DO (
    cd "%%d"
    IF EXIST *.png (
       REN *.png *.jpg
    )
)
POPD

更新:我发现了一个更好的解决方案在这里 ,你可以直接在命令行(使用运行%%f在代替%f ,如果使用该批处理文件中):

FOR /R %f IN (*.png) DO REN "%f" *.jpg

请注意,上面会处理当前目录及其子目录。 如果有必要,可以指定任意目录的根目录,如下所示:

FOR /R "D:\path\to\PNGs" %f IN (*.png) DO REN "%f" *.jpg


文章来源: How to Batch change file extensions within subfolders [duplicate]