在 Windows 上用一个命令更改文件夹中的所有文件扩展名

如何使用 Windows 命令行将数千个文件的扩展名更改为 *****.jpg

379161 次浏览

你可以使用 ren(如 重命名) :

ren *.XXX *.YYY

当然,将 XXX 和 YYY 切换为适当的扩展。它将改变 来自 XXX YYY。如果要更改所有扩展,只需再次使用通配符:

ren *.* *.YYY

使这种方法递归工作的一种方法是使用 FOR命令。它可以与 /R选项一起使用,以递归地将命令应用于匹配的文件。例如:

for /R %x in (*.txt) do ren "%x" *.renamed

将所有的 .txt扩展递归地改变为从工作目录开始的 .renamed扩展。 %x是保存匹配文件名的变量。

并且,因为您有数千个文件,所以请确保等到光标再次开始闪烁,表明它已经完成工作。

注意: 这只适用于 cmd。不适用于 Powershell 或 Bash

在 CMD 上

类型

ren *.* *.jpg

. 将选择所有文件,并将其重命名为 * (不管它们有什么名称)加扩展名为 jpg

很简单

ren *.* *.jpg

在命令提示符中尝试这样做

重命名行为有时“不太直观”; 例如..。

任 * 。THM.Jpg 将重命名您的 THM 文件,使其扩展名为。JPG.例句: GEDC003.THM 将是 GEDC003.jpg

Ren * . THM * b.jpg 将您的 THM 文件重命名为 * . THMb.jpg。例如: GEDC004.THM 将成为 GEDC004.THMb.jpg

Ren * . THM * . b.jpg 将您的 THM 文件重命名为 * . b.jpg: GEDC005.THM 将成为 GEDC005.b.jpg

重命名多个文件扩展名:

你要把 ringtone1.mp3ringtone2.mp3改成 ringtone1.wavringtone2.wav

下面是如何做到这一点: 我在命令提示符(CMD)的 d 驱动器中,因此我使用:

d:\>ren *.* *.wav

这只是一个文件扩展名的例子,你可以使用任何类型的文件扩展名,如 WAV,MP3,JPG,GIF,bmp,PDF,DOC,DOCX,TXT 这取决于你的操作系统。

并且,因为您有数千个文件,所以请确保等到光标再次开始闪烁,表明它已经完成工作。

注意: 不适用于 Windows

使用 ren-1.0的正确形式是:

"ren *.*" "#2.jpg"

来自 man ren

替换模式是另一个具有嵌入通配符的文件名 索引,每个 其中包括字符 # 后跟从1到9的数字。以 匹配文件时,通配符索引将被匹配 在原始文件名中引用通配符。

还有

注意,shell 通常展开通配符 * 和? ,其中 在人的情况是不可取的。因此,在大多数情况下,它是 必须用引号括起搜寻模式。

对于那些希望在批处理文件中执行此操作的人来说,下面的代码可以正常工作:

FOR /R "C:\Users\jonathan\Desktop\test" %%f IN (*.jpg) DO REN "%%f" *.png

在这个示例中,C: Users jathanDesktop test 目录中所有扩展名为. jpg 的文件都更改为 * . png。

在我的例子中,我有一个目录,其中包含800多个以 .StoredProcedure.sql结尾的文件(它们是用 短信编写的脚本)。

上面提到的解决方案并不奏效,但我想到了这个办法:

(根据 批处理编程-获取文件的相对路径的答案)

@echo off
setlocal enabledelayedexpansion
for %%f in (*) do (
set B=%%f
set B=!B:%CD%\=!
ren "!B!" "!B:.StoredProcedure=!"
)

上面的脚本从文件名中删除子字符串 .StoredProcedure。我相信它可以适应更多的情况下,要求输入和总体上更通用。

我知道这很老套,但我已经着陆了,所提供的答案在 Powershell 上对我不起作用 所以在搜索之后找到了这个解决方案

用动力壳做到这一点

Get-ChildItem -Path C:\Demo -Filter *.txt | Rename-Item -NewName {[System.IO.Path]::ChangeExtension($_.Name, ".old")}

功劳归 http://powershell-guru.com/powershell-tip-108-bulk-rename-extensions-of-files/

使用 改名 npm 包重命名文件的另一种方法。

下面是一个重命名文件扩展名的示例

renamer -d --path-element ext --find ts --replace js *

对我起作用的是这个(先把 CD 放到文件夹中) :

Get-ChildItem -Filter *.old | Rename-Item -NewName {[System.IO.Path]::ChangeExtension($_.Name, ".new")}

我有一个问题与设计师提供没有扩展的图像(苹果 Mac 有时这样做)

ren *. *.jpg

添加扩展名,以便 Windows 用户可以使用这些文件。

对于我的窗口,ren命令不起作用。所以,我用谷歌搜索了一下,用 bash 写了一个通用的解决方案。您可以尝试从 windows 在 git bash上运行它,它也可以在 linux shell 上运行。

for f in `find * -type f | grep .png`; do mv -- "$f" "${f%.png}.jpg"; done

使用 cmd而不是 powershell,那么它将工作。