Board logo

标题: [文件操作] 怎样用批处理将文件名长度超过166个字节后的部分删掉? [打印本页]

作者: 白洺    时间: 2021-12-5 13:53     标题: 怎样用批处理将文件名长度超过166个字节后的部分删掉?

本帖最后由 白洺 于 2021-12-5 13:54 编辑

怎样用批处理将文件名长度超过166个字节后的部分删掉?只想保留前166字节(83个全角字符)的文件名,因为超过此长度 Kindle 就识别不到该书籍了。
如:
  1. 走出唯一真理观【豆瓣评分9.0!“中国最接近哲学家称呼的人”、《十三邀》嘉宾陈嘉映继《何为良好生活》后重磅新作!我们之所求,首先不是让别人明白,而是求自己明白。】.陈嘉映.上海文艺出版社.2020
复制代码

作者: 小小菜鸟    时间: 2021-12-5 15:40

  1. %变量:~n,m%
复制代码
n 开始
m 取多少
作者: qixiaobin0715    时间: 2021-12-6 08:59

本帖最后由 qixiaobin0715 于 2021-12-10 10:19 编辑

回复 1# 白洺
如果要处理的文件扩展名是.txt的话(其它扩展名可以自行修改):
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  4.     set "str=%%~ni"
  5.     ren "%%i" "!str:~0,83!%%~xi
  6. )
  7. pause
复制代码

作者: 白洺    时间: 2021-12-10 10:16

回复 3# qixiaobin0715


    谢谢您,代码奏效了,但是长度不足166字节的文件也会被处理,导致又加上了一个扩展名,该怎么办呢?
作者: qixiaobin0715    时间: 2021-12-10 10:20

回复 4# 白洺
已修改,可以再试试。
作者: 白洺    时间: 2021-12-10 19:09

回复 5# qixiaobin0715


    可以了,非常感谢!




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