Board logo

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

作者: thp2008    时间: 2022-6-29 20:07     标题: [已解决]BAT批量删除长文件名,长度超过100个字符的之后的所有字符

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

谢谢各位大神帮助!
作者: idwma    时间: 2022-6-29 20:39

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

作者: thp2008    时间: 2022-6-29 22:29

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



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

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





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