可用cmd或powershell批量改扩展名:先显示扩展名,再用ren命令(如ren .txt .log)、for循环(如for %f in (.jpg) do ren "%f" "%~nf.png")或powershell(如get-childitem .bak | rename-item -newname { $_.basename + ".backup" })实现。
可以直接用文件资源管理器里集成的命令行工具(cmd 或 powershell)批量改拓展名,不用装软件,操作快、兼容性好。
先让扩展名可见
这是关键一步。打开目标文件夹 → 顶部点“查看”选项卡 → 勾选“文件扩展名”。否则你根本看不到后缀,也容易误操作。
用 ren 命令一键替换(最简方案)
适用于同一文件夹内所有同类型文件,比如把全部 .txt 改成 .log:
- 在目标文件夹空白处按 Shift + 右键 → 选“在此处打开命令窗口”或“在此处打开 PowerShell 窗口”
- 输入命令:ren *.txt *.log → 回车
- 执行完刷新文件夹,就能看到所有 .txt 文件已变成 .log
⚠️ 注意:ren 不支持路径含空格或括号的文件名,遇到这类情况会跳过或报错。
用 for 循环安全处理空格和中文名
适合文件名带空格、括号、中文等常见场景,更稳妥:
- 在命令窗口中输入:for %f in (*.jpg) do ren "%f" "%~nf.png"
- 其中 %~nf 表示去掉原扩展名的纯文件名,"%f" 加引号确保空格不中断
- 想改其他类型,只换 *.jpg 和 .png 部分即可
用 PowerShell 精准控制(推荐进阶用)
支持错误提示、过滤子目录、跳过只读文件,适合稍复杂需求:
- 同样 Shift+右键 → “在此处打开 PowerShell 窗口”
- 运行这行(把 .bak 全部改成 .backup):Get-ChildItem *.bak | Rename-Item -NewName { $_.BaseName + ".backup" }
- 如果要包含子文件夹,加 -Recurse 参数:Get-ChildItem -Recurse *.bak | ...
PowerShell 会逐个检查,遇到权限问题会提示,不会静默失败。











