找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18163|回复: 3

[文件操作] [已解决]BAT批量删除长文件名,长度超过100个字符的之后的所有字符

[复制链接]
发表于 2022-6-29 20:07:34 | 显示全部楼层 |阅读模式
要求:
批量重命名当前目录及当前目录所有子目录下的所有长度超过100个字符的文件名,也就是说,文件名长度超过100个字符的,超过的部分全部删除,不超过100个字符的,不处理。排除.bat。
文件名中有中文,英文,符号。

谢谢各位大神帮助!
发表于 2022-6-29 20:39:44 | 显示全部楼层
  1. setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /b/s^|findstr /v "\.bat$"') do (
  3. set "a=%%~ni"
  4. if "!a:~100!" neq "" del "%%i"
  5. )
复制代码
 楼主| 发表于 2022-6-29 22:29:26 | 显示全部楼层
idwma 发表于 2022-6-29 20:39



首先谢谢您的帮助,我测试了一下,你这个是删除这个文件,我是要重命名这个文件,只删除文件名中超过100个字符的后的部分。就是只用文件名的前100个字符,作为文件名,后面的全删掉。麻烦帮我修改一下。万分感谢!
发表于 2022-6-29 23:57:46 | 显示全部楼层
回复 3# thp2008
  1. setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /b/s^|findstr /v "\.bat$"') do (
  3. set "a=%%~ni"
  4. if "!a:~100!" neq "" ren "%%i" "!a:~0,100!%%~xi"
  5. )
复制代码

评分

参与人数 1技术 +1 收起 理由
thp2008 + 1 谢谢!搞定!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 21:53 , Processed in 0.018107 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表