Board logo

标题: [文件操作] 批处理如何把文件夹所有文件重命名,取第一个下横杠后面的字符串和后缀命名 [打印本页]

作者: CHISHENGLONG    时间: 2023-8-10 18:17     标题: 批处理如何把文件夹所有文件重命名,取第一个下横杠后面的字符串和后缀命名

🐈²³⁴⁵_2023-07-29 14.52.03_picture-0.png
重命名成2023-07-29 14.52.03_picture-0.png


另外还有一个问题,如何批量把文件名那种微信名字表情符号那种 ,清空
作者: xzwcn    时间: 2023-8-10 21:13

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "sourceFolder=您的文件夹路径"
  4. for %%F in ("%sourceFolder%\*_*.*") do (
  5.     set "filename=%%~nF"
  6.     set "extension=%%~xF"
  7.     for /f "tokens=2 delims=_" %%A in ("!filename!") do (
  8.         set "newName=%%A!extension!"
  9.     )
  10.     ren "%%F" "!newName!"
  11. )
  12. echo 完成重命名操作!
  13. pause
复制代码
请将上述脚本中的 "您的文件夹路径" 替换为要处理的文件夹路径。此脚本会遍历指定文件夹中的所有文件,检查文件名中是否有下划线,如果有,则将文件名分割为两部分,并以第二部分和原始文件的扩展名组合成新的文件名。

请注意,批处理脚本对于文件名中的特殊字符(如您的示例中的表情符号)可能会遇到问题。在处理这些特殊字符时,可能需要进行额外的处理步骤以确保脚本的正常运行。如果在实际操作中遇到问题,您可能需要进行更多的调整。

在运行脚本之前,请务必备份您的文件,以防意外情况发生。
作者: Batcher    时间: 2023-8-10 21:14

回复 1# CHISHENGLONG


请参考Q-04把bat文件保存为UTF-8编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. chcp 65001 >nul
  3. cd /d "%~dp0"
  4. for /f "tokens=1* delims=_" %%a in ('dir /b /a-d *_*.png') do (
  5.     ren "%%a_%%b" "%%b"
  6. )
复制代码

作者: Nsqs    时间: 2023-8-11 03:33

本帖最后由 Nsqs 于 2023-8-11 03:41 编辑
PowerShell代码
  1. cd d:\某文件夹
  2. dir *.png -File|%{ren $_ ([regex]::matches($_,'(?<=_).+').value)}
复制代码

作者: jszw666    时间: 2023-8-11 11:45

文件名的修改,一直在 不断学习中。收益了,谢谢!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2