Board logo

标题: [文件操作] 【已解决】求助批处理删除特殊字符 [打印本页]

作者: lj670    时间: 6 天前 18:02     标题: 【已解决】求助批处理删除特殊字符

本帖最后由 lj670 于 2024-12-17 00:50 编辑

mp4文件名中包含有许多特殊字符☀ ✦ ♬ ♭ ♩等等需要删除掉,用删除一般字符的脚本无法删除这些,求助各位大佬,谢谢!🙏🙏
例如:
高清✦ 难以置信的美丽.mp4
高清难☀☀以置信的美丽.mp4
高清难以置信的♬ ♭美丽.mp4
作者: 77七    时间: 6 天前 19:16

本帖最后由 77七 于 2024-12-16 19:21 编辑
  1. @echo off
  2. rem 保存为utf-8编码
  3. chcp 65001 >nul
  4. set str="☀" "✦" "♬" "♭" "♩"
  5. for /f "delims=" %%i in ('dir /b /a-d *.mp4') do (
  6. set n=%%~ni
  7. if defined n (
  8. setlocal enabledelayedexpansion
  9. set _n=!n!
  10. for %%a in (%str%) do (
  11. set _n=!_n:%%~a=!
  12. )
  13. ren "!n!%%~xi" "!_n!%%~xi"
  14. endlocal
  15. )
  16. )
  17. pause
复制代码

作者: Five66    时间: 6 天前 21:50

不知行否
  1. @echo off&chcp 936
  2. for %%a in (*.mp4) do (
  3. set old=%%a
  4. for /f "delims=" %%b in ('echo "%%a"') do (
  5. set "new=%%~b"
  6. setlocal enabledelayedexpansion
  7. echo rename "!old!" to "!new:?=!"
  8. rename "!old!" "!new:?=!"
  9. endlocal
  10. )
  11. )
  12. pause&exit/b
复制代码

作者: aloha20200628    时间: 5 天前 00:07

回复 1# lj670

  1. @echo off & chcp 936>nul &setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b/a-d *.mp4') do set "a=%%a" &ren "%%a" "!a:?=!"
  3. pause&exit/b
复制代码

作者: lj670    时间: 5 天前 00:09

回复 2# 77七


    运行完美,非常好!谢谢🙏🙏
作者: lj670    时间: 5 天前 00:46

回复 3# Five66

非常行,运行完美,不用指定,去除所有特殊字符,谢谢🙏🙏🙏
作者: lj670    时间: 5 天前 00:49

回复 4# aloha20200628

运行完美,速度非常快,处理4150个视频用时65秒,谢谢🙏🙏




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