如何在 windows 中批量修改文件后缀名 使用批处理脚本一键完成更名

如果您需要在 Windows 系统中快速将大量文件统一更改为指定后缀名,手动逐个重命名效率极低。使用批处理脚本可实现自动化批量修改,无需第三方软件。以下是多种可靠且安全的批处理实现方式:

一、基础 for 命令循环重命名

该方法适用于当前目录下所有指定类型文件,通过 cmd 内置 for 命令遍历并调用 ren 命令修改扩展名,操作轻量、兼容性强,支持 Windows 7 至 Windows 11。

1、在目标文件夹空白处按住 Shift + 右键,选择“在此处打开 PowerShell 窗口”或“在此处打开命令窗口”。

2、输入 notepad rename.bat 创建新批处理文件并回车。

3、在记事本中粘贴以下内容(以将 .txt 改为 .log 为例):for %f in (*.txt) do ren “%f” “%~nf.log”

4、保存并关闭记事本,回到命令窗口执行 rename.bat。

二、增强型批处理脚本(支持子目录与安全确认)

此脚本加入路径参数解析与用户确认机制,避免误操作导致文件不可用;使用 for /r 实现递归处理,可覆盖子文件夹内匹配文件。

1、新建文本文件,重命名为 batch_rename.bat。

2、右键编辑,粘贴以下完整脚本:@echo offsetlocal enabledelayedexpansionif “%~1″==”” (echo 请拖入目标文件夹路径或在命令行后追加路径 & pause & exit /b)cd /d “%~1″set “old_ext=.bak”set “new_ext=.backup”echo 即将把当前目录及子目录中所有 %old_ext% 文件改为 %new_ext%set /p confirm=确认执行?(y/n): if /i not “%confirm%”==”y” exit /bfor /r %%i in (*%old_ext%) do (ren “%%i” “%%~ni%new_ext%”)

3、将目标文件夹拖拽至该批处理文件图标上释放,脚本自动读取路径并执行。

三、PowerShell 替代方案(支持通配与错误捕获)

PowerShell 提供更稳健的对象化文件操作能力,可精确过滤、跳过只读文件、记录失败项,适合对数据安全性要求较高的场景。

1、新建文件,命名为 ps_rename.ps1。

2、写入以下内容(示例:将所有 .jpg 重命名为 .jpeg,保留原名):Get-ChildItem -Path “.” -Recurse -File -Filter “*.jpg” | ForEach-Object {  $newName = $_.FullName -replace ‘\.jpg$’, ‘.jpeg’  try { Rename-Item -Path $_.FullName -NewName $newName -ErrorAction Stop }  catch { Write-Warning “跳过 $($_.FullName):$($_.Exception.Message)” }}

3、以管理员身份运行 PowerShell,执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 允许本地脚本运行。

4、执行 .\ps_rename.ps1 启动重命名流程。

四、免交互静默模式(适用于定时任务或部署环境)

该方案去除所有提示与暂停指令,脚本执行完毕即退出,适合集成进自动化部署流程或计划任务中,全程无界面阻塞。

1、新建 silent_rename.bat。

2、填入以下代码(将当前目录下 .temp 文件全部转为 .done):@echo offpushd “%~dp0″for %%a in (*.temp) do (ren “%%a” “%%~na.done” 2>nul)popd

3、双击运行或通过 schtasks 添加为每日凌晨执行的任务。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。