You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用批处理脚本批量替换文件名中的点为空格以重命名文件

批量重命名:替换文件名后缀前的点为空格(批处理脚本)

刚好做过类似的需求,给你写个直接能用的批处理脚本,完美适配你的场景:

@echo off
setlocal enabledelayedexpansion

:: 遍历当前目录下的所有文件(排除脚本自身)
for %%F in (*.*) do (
    :: 跳过当前批处理文件,避免把脚本自己也重命名了
    if "%%~nxF" == "%~nx0" goto nextfile
    
    :: 拆分文件名和后缀:%%~nF取文件名(不含后缀),%%~xF取后缀
    set "filename=%%~nF"
    set "extension=%%~xF"
    
    :: 把文件名里的所有点替换成空格,这里用!是因为启用了延迟扩展
    set "newname=!filename:.= !"
    
    :: 组合新文件名并执行重命名
    ren "%%F" "!newname!!extension!"
    
    :nextfile
)

echo 所有符合条件的文件都重命名完成啦!
pause

关键细节说明:

  • 延迟变量扩展:必须开启enabledelayedexpansion,不然循环里的变量替换不会实时生效,这是批处理循环里的常见坑点
  • 跳过脚本自身:加了判断逻辑,避免把批处理文件自己也改了名字,导致下次运行找不到脚本
  • 引号包裹路径:所有涉及文件名的操作都用引号括起来,就算原文件名里自带空格也不会出错

如果需要递归处理子目录里的文件,只需要把for %%F in (*.*)改成for /r %%F in (*.*)即可,但要注意子目录下的所有文件都会被批量修改哦。

内容的提问来源于stack exchange,提问作者slothOnMeth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:38:29