我该如何使用Windows命令行将成千上万个文件的扩展名更改为*****.jpg
?
你可以使用ren
(如rename):
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。
FOR
的递归示例。 - keyserren "*.html" "#1.pug"
。 - Martinffx在CMD中
输入
ren *.* *.jpg
.会选择所有文件,并将它们的名称重命名为 *(无论原本的名称是什么),并更改扩展名为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
注意:不适用于Windows系统
使用ren-1.0的正确形式为:
"ren *.*" "#2.jpg"
来自 man ren
替换模式是带有嵌入通配符索引的另一个文件名,每个索引由 # 字符后跟 1 到 9 的数字组成。在匹配文件的新名称中,通配符索引将被原始文件名中引用的通配符所匹配的实际字符替换。
并且
请注意,shell 通常会扩展通配符 * 和 ?,这在 ren 命令中是不希望出现的。因此,在大多数情况下,必须将搜索模式括在引号内。
那很简单。
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
我曾经遇到过设计师没有给图片添加扩展名的问题(有时候苹果电脑会这样做)。因此,您可以使用以下方法:
ren *. *.jpg
添加扩展名,以便Windows用户可以使用这些文件。
重命名多个文件的扩展名:
你想将ringtone1.mp3
,ringtone2.mp3
改为ringtone1.wav
,ringtone2.wav
以下是操作步骤: 我在命令提示符(CMD)中使用d驱动器:
d:\>ren *.* *.wav
这段代码适用于批处理文件,已经可以正常工作:
FOR /R "C:\Users\jonathan\Desktop\test" %%f IN (*.jpg) DO REN "%%f" *.png
.StoredProcedure.sql
结尾的文件(它们是使用SSMS脚本化的)。@echo off
setlocal enabledelayedexpansion
for %%f in (*) do (
set B=%%f
set B=!B:%CD%\=!
ren "!B!" "!B:.StoredProcedure=!"
)
.StoredProcedure
。我相信它可以被改编以涵盖更多情况,要求输入并且更加通用。set
命令:set "B=%%~nxf"
。(%%~nxf
是 %%f
的 name 和 extension)。当您进行递归操作时,%cd%
可能无效。 - Stephan