Board logo

标题: [文件操作] [已解决]求助:批处理代码命名格式是对的,就是不生效! [打印本页]

作者: lj670    时间: 2023-5-30 06:04     标题: [已解决]求助:批处理代码命名格式是对的,就是不生效!

在当前文件夹里的文件的名称开头添加第一个中文/汉字的拼音首字母,找了一个批处理文件,运行后命名格式是对的,就是不生效!恳请大佬帮忙看一下是什么原因
例源文件:
《一曲红尘》郭少杰.mp3
《一路向北》冷一漠.mp3
《做你的爱人》饶天.mp3  
《掌心之中》魏佳艺.mp3  
  处理后:
Y 《一曲红尘》郭少杰.mp3
Y 《一路向北》冷一漠.mp3
Z 《做你的爱人》饶天.mp3
T 《涛声依旧》毛一宁.mp3
X 《许多年后》赵一鑫.mp3
作者: buyiyang    时间: 2023-5-30 11:33

本帖最后由 buyiyang 于 2023-5-30 22:10 编辑

这个似乎是故意这么写的,我就不改了。
http://bcn.bathome.net/tool/pin.exe
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /a-d') do (
  3.     if not "%~nx0"=="%%~nxi" (
  4.         for /f "delims=" %%a in ('powershell -c "('%%~nxi' -replace '^[^\u4e00-\u9fa5]*([\u4e00-\u9fa5]).*$','$1') -replace '[^\u4e00-\u9fa5]'" ^| pin -p -d3') do (
  5.             echo,%%i------^>%%a%%~nxi
  6.             ren "%%i" "%%a%%~nxi"
  7.         )
  8.     )
  9. )
  10. pause
复制代码

作者: Roxx    时间: 2023-5-30 13:22

代码是论坛某个大佬写的哦~
作者: Gin_Q    时间: 2023-5-30 16:46

你装Python没有,Python可以搞。
作者: 77七    时间: 2023-5-30 21:51

以前写过一个类似的,修改一下为文件名中第一个汉字
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /a-d ^|find /v "%~nx0"') do (
  3. set "name=%%~nxi"
  4. setlocal enabledelayedexpansion
  5. call :1 "!name!"
  6. if defined hanzi (
  7. for /f "tokens=1" %%a in ('echo !hanzi! ^| pin.exe  -p -d3" "') do (
  8. ren "!name!" "%%a!name!"
  9. )
  10. )
  11. endlocal
  12. )
  13. pause
  14. exit
  15. :1
  16. set "str=%~1"
  17. for /l %%l in (0,1,260) do (
  18. set "hanzi=!str:~%%l,1!"
  19. if "!hanzi!" neq "" (
  20. if /i "!hanzi!" gtr "z" (
  21. exit /b
  22. )
  23. ) else exit /b
  24. )
复制代码

作者: lj670    时间: 2023-5-30 22:37

回复 5# 77七


    正常运行,棒棒哒




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