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

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

要求:
批量重命名当前目录及当前目录所有子目录下的所有长度超过100个字符的文件名,也就是说,文件名长度超过100个字符的,超过的部分全部删除,不超过100个字符的,不处理。排除.bat。
文件名中有中文,英文,符号。

谢谢各位大神帮助!

  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. )
复制代码

TOP

idwma 发表于 2022-6-29 20:39



首先谢谢您的帮助,我测试了一下,你这个是删除这个文件,我是要重命名这个文件,只删除文件名中超过100个字符的后的部分。就是只用文件名的前100个字符,作为文件名,后面的全删掉。麻烦帮我修改一下。万分感谢!

TOP

回复 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

评分人数

TOP

返回列表