如何让文件名 批量添加首汉字的首字母

查看 126|回复 9
作者:wanpojie   
如何让文件名   批量添加首汉字的首字母
比如这样子  
Y.远古启示录 (2022)
Z.知否知否应是绿肥红瘦 (2018)
W.我们的日子 (2023)
批量修改当前目录的文件名  或者文件夹名

汉字, 文件名

神心恼   

https://getquicker.net/Sharedaction?code=4a8d977c-ae95-4376-39c5-08d7bfff7792
xbang   

自己写个工具改名。
神心恼   

可以按照首字母分类。到文件夹内
jskhuizi521   

https://t.wss.ink/f/b6vhob2thwi 复制链接到浏览器打开  这个软件估计能帮助你,如果可以用,请加分哈哈
神心恼   

善用quicker
https://getquicker.net/Download 软件下载。然后黏贴我上面复制的就可以达成你的条件了
jskhuizi521   

https://www.52pojie.cn/thread-1764880-1-1.html  如果不会用,可以看这里。52大神的软件介绍
wang8118   

那如果文件名的第一个不是汉字是其他符号,那如何就一直往下找到第一个汉字?
wanpojie
OP
  


wang8118 发表于 2023-5-12 16:07
那如果文件名的第一个不是汉字是其他符号,那如何就一直往下找到第一个汉字?

数字或者字母的话  就直接不改了
wanpojie
OP
  


wanpojie 发表于 2023-5-12 16:18
数字或者字母的话  就直接不改了

刚刚gpt回答如下 但是也没看懂
使用批处理脚本(.bat)可以实现对文件名添加首汉字的首字母。
以下是一个批处理脚本的示例,它可以在指定目录下将所有文件名的首个汉字转换成拼音首字母并添加到文件名前:
```batch
@echo off
setlocal enabledelayedexpansion
set "dir=C:\your\directory\path"
for %%a in ("%dir%\*.*") do (
    set "name=%%~na"
   
    for /f %%b in ('chcp ^| find /i "936"') do chcp 65001 >nul
   
    set "first_char=!name:~0,1!"
    set "pinyin=%first_char:"
    if "%pinyin%"=="%" (
        set "pinyin=#"
    ) else (
        for /f "delims=" %%c in ('echo %first_char% ^| iconv -t UTF-8 -f GB2312 ^| py -3 -m pypinyin -s "" ') do set "pinyin=%%c"
    )
   
    ren "%%a" "!pinyin!_%%~nxa"
)
endlocal
```
请将 `C:\your\directory\path` 替换为你想要重命名文件的目录的路径。此脚本依赖以下工具:
- `iconv`: 将字符集编码转换成 UTF-8 格式。
- `py`: Python 环境。
- `pypinyin`: Python 拼音库。
如果你没有安装这些工具,请先安装,并确保将其加入到系统 `PATH` 环境变量中。
值得注意的是,此脚本只针对包含汉字的文件名进行重命名。如果目录下的文件名全为英文或数字,则不会进行任何操作。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部