[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

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

  1. %变量:~n,m%
复制代码
n 开始
m 取多少

TOP

本帖最后由 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
复制代码
1

评分人数

TOP

回复 3# qixiaobin0715


    谢谢您,代码奏效了,但是长度不足166字节的文件也会被处理,导致又加上了一个扩展名,该怎么办呢?

TOP

回复 4# 白洺
已修改,可以再试试。

TOP

回复 5# qixiaobin0715


    可以了,非常感谢!

TOP

返回列表