
如果您需要在 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 添加为每日凌晨执行的任务。

评论(0)