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

在Windows上使用一个命令更改文件夹中所有文件的扩展名,windows,cmd,jpeg,Windows,Cmd,Jpeg,如何使用Windows命令行将数千个文件的扩展名更改为******.jpg?您可以在重命名中使用ren as: 当然,切换XXX和YYY以获得适当的扩展名。它将从XXX更改为YYY。如果要更改所有扩展名,只需再次使用通配符: ren *.* *.YYY 使其递归工作的一种方法是使用FOR命令。它可以与/R选项一起使用,以递归方式将命令应用于匹配的文件。例如: 对于*.txt中的/R%x,请重命名%x* 将从当前目录开始,以递归方式将所有.txt扩展名更改为.重命名。 %x是保存匹配文件名的变量

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

您可以在重命名中使用ren as:

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

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

对于*.txt中的/R%x,请重命名%x*

将从当前目录开始,以递归方式将所有.txt扩展名更改为.重命名。 %x是保存匹配文件名的变量

而且,由于您有数千个文件,请确保等待光标再次开始闪烁,表明它已完成工作

注意:这仅适用于cmd。无法在Powershell或CMD上的Bash上工作

类型

。将选择所有文件,并将其重命名为*what-ever-name加上jpg的扩展名这很简单

ren *.* *.jpg

在命令提示符下尝试此操作

重命名行为有时“不够直观”;例如

ren*.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.mp3、ringtone2.mp3更改为ringtone1.wav、ringtone2.wav

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

d:\>ren *.* *.wav 
这只是一个文件扩展名的示例,您可以使用任何类型的文件扩展名,如WAV、MP3、JPG、GIF、bmp、PDF、DOC、DOCX、TXT。这取决于您的操作系统

而且,由于您有数千个文件,请确保等到光标再次开始闪烁表示它已完成工作。

注意:不适用于Windows

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

"ren *.*" "#2.jpg"
文仁

替换模式是另一个带有嵌入通配符的文件名 索引,每个 其中由字符后跟1到9的数字组成。以一个新的名字 匹配文件时,通配符索引将替换为与 原始文件名中引用的通配符

请注意,shell通常会扩展通配符*和?,其中 在这种情况下,任正非是不可取的。因此,在大多数情况下是这样的 必须将搜索模式括在引号中


仅针对希望在批处理文件中执行此操作的人员,此代码有效:

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

在本例中,C:\Users\jonathan\Desktop\test目录中扩展名为.jpg的所有文件都更改为*.png

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

上面发布的解决方案不起作用。但我想到了这个:

基于对


上面的脚本从文件名中删除substring.StoredProcedure。我确信它可以适应更多的情况,要求输入,并且总体上更通用。

我知道这太旧了,但我已经在它上面登陆了,提供的答案在powershell上对我不起作用 所以经过搜索找到了这个解决方案

在powershell中执行此操作

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

这归功于使用npm包重命名文件的另一种方法

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

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

对我有效的方法是先将这张CD放入文件夹:

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

将所有扩展名更改为******.jpg是什么意思?它是否意味着jpg的所有文件扩展名?如果是,请使用ren.*。jpgwhat操作系统?您想如何更改它们?@bryce off-course windows operating system..*.XXX将更改该特定扩展名的文件,这意味着它将重命名所有扩展名为的文件XXX@keyser5053我还可以得到一份关于这里所采取行动的报告吗。。使用ren*.**.jpg>E:\Log\Cmd\ExtChange\ext.txt?在所有子目录中递归替换如何?@NightElfik我添加了一个使用FORI的递归示例,我无法在powershell中使用它,但它在Cmd.exe中运行良好。只是为了让其他人知道。我必须使用1:ren*.csv 1.jsonman ren?问题是关于Windows/cmd的。这些现在提供手册页了吗?什么是ren-1.0?我们如何在上下文中查看它的手册页?用这个命令替换两个set命令:set B=%%~nxf.%%~nxf是%%f.%的名称和扩展名cd%可能无效,当您递归执行时。很好的解释
Get-ChildItem -Path C:\Demo -Filter *.txt | Rename-Item -NewName {[System.IO.Path]::ChangeExtension($_.Name, ".old")}
renamer -d --path-element ext --find ts --replace js *
Get-ChildItem -Filter *.old | Rename-Item -NewName {[System.IO.Path]::ChangeExtension($_.Name, ".new")}