如何用批处理脚本批量删除OneDrive添加到文件名的指定后缀
批量删除OneDrive自动添加的设备后缀名方案
前置注意事项
- 操作前请先将所有待处理文件备份到独立文件夹,避免误操作导致文件丢失
- 默认脚本仅处理当前文件夹下的文件,如需处理子文件夹可参考后续扩展说明
- 若删除后缀后出现重名文件,脚本会自动跳过该文件,手动调整重名后重新执行脚本即可
操作步骤
- 打开存放待处理文件的文件夹,在空白处右键新建「文本文档」
- 将下方的批处理代码完整复制到新建的文本文档中
@echo off setlocal enabledelayedexpansion :: 需删除的目标字符串,后续需求变动可修改引号内内容 set "remove_str=-DESKTOP-9EI0FN7" :: 遍历当前文件夹下所有匹配目标字符串的文件 for %%f in (*%remove_str%*) do ( set "old_name=%%~nf" :: 替换文件名中的目标字符串为空,拼接原后缀 set "new_name=!old_name:%remove_str%=!%%~xf" ren "%%f" "!new_name!" ) echo 所有匹配文件已处理完成 pause
- 按下
Ctrl+S保存文件后,关闭文本文档,将文件的后缀名从.txt修改为.bat,可命名为rename_fix.bat - 双击运行
rename_fix.bat,等待弹出的命令行窗口提示处理完成即可
扩展:递归处理子文件夹内的文件
如果需要同时处理当前文件夹下所有子文件夹内的匹配文件,只需将上述代码中for %%f in (*%remove_str%*) do (这一行替换为下面的内容即可,其余代码保持不变:
for /r %%f in (*%remove_str%*) do (
内容的提问来源于stack exchange,提问作者Fechulo
相关产品推荐
相关产品推荐

