可通过PowerShell、CMD、批处理或资源管理器四种方法批量修改文件扩展名:PowerShell最安全灵活;CMD仅限等长扩展名;批处理便于复用;资源管理器需手动配合扩展名显示操作。

如果您需要将同一文件夹中的多个文件统一更改为另一种扩展名,例如将所有 .txt 文件改为 .log,但又不想逐一手动重命名,则可以通过系统内置功能或命令行工具实现批量修改。以下是解决此问题的步骤:
一、使用 PowerShell 批量修改扩展名
PowerShell 提供了强大的对象处理能力,可精准定位指定扩展名的文件并安全重命名,避免误改非目标文件。
1、在目标文件夹空白处按住 Shift + 右键,选择“在此处打开 PowerShell 窗口”或“在终端中打开”。
2、输入以下命令(以将所有 .txt 改为 .log 为例):
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '\.txt$', '.log' }
3、按回车执行。系统将列出每项重命名操作,无提示即表示全部完成。
4、如需修改其他扩展名,仅需替换命令中两处 .txt 和 .log 为对应值。
二、使用 CMD 命令行批量修改扩展名
CMD 的 ren 命令支持通配符批量重命名,适用于基础场景,但要求目标扩展名长度一致且不涉及复杂逻辑。
1、在目标文件夹空白处按住 Shift + 右键,选择“在此处打开命令窗口”或“在终端中打开”。
2、输入以下命令(以将所有 .jpg 改为 .png 为例):
ren *.jpg *.png
3、按回车执行。注意:该命令仅适用于新旧扩展名位数相同的情况(如 .jpg→.png、.txt→.log),否则可能截断文件名。
4、若扩展名长度不同(如 .jpeg→.jpg),则不可使用此方法,应选用 PowerShell 方案。
三、使用批处理文件(.bat)重复执行批量修改
将常用修改操作固化为可双击运行的批处理脚本,便于在不同文件夹中快速复用,无需每次输入命令。
1、在目标文件夹内新建文本文档,输入以下内容(以 .bak→.old 为例):
@echo off
cd /d "%~dp0"
for %%i in (*.bak) do ren "%%i" "%%~ni.old"
pause
2、将该文件另存为 change_ext.bat,编码选择 ANSI 或 UTF-8 无 BOM。
3、双击运行该 .bat 文件,所有 .bak 文件将被重命名为 .old;运行后窗口暂停,按任意键退出。
4、如需用于其他扩展名,仅修改脚本中两处 .bak 和 .old 即可。
四、使用资源管理器多选+重命名快捷法
Windows 资源管理器原生支持对多选文件进行统一前缀/后缀修改,虽不能直接改扩展名,但配合显示扩展名设置可间接实现可控批量操作。
1、打开文件夹,在“查看”选项卡中勾选 “文件扩展名”(确保扩展名可见)。
2、按住 Ctrl 键 依次点击选中所有需修改的文件(或按 Ctrl+A 全选)。
3、按一次 F2,输入新文件名(如 “file”),回车确认——此时所有文件将获得相同前缀与序号,但扩展名保持不变。
4、再次按 Ctrl+A 全选,右键 → “重命名”,将光标移至最后一个字符前,手动删除原扩展名并输入新扩展名(如 .log),回车确认。










