标题: [文件操作] [已解决]BAT批量删除长文件名,长度超过100个字符的之后的所有字符 [打印本页]
作者: thp2008 时间: 2022-6-29 20:07 标题: [已解决]BAT批量删除长文件名,长度超过100个字符的之后的所有字符
要求:
批量重命名当前目录及当前目录所有子目录下的所有长度超过100个字符的文件名,也就是说,文件名长度超过100个字符的,超过的部分全部删除,不超过100个字符的,不处理。排除.bat。
文件名中有中文,英文,符号。
谢谢各位大神帮助!
作者: idwma 时间: 2022-6-29 20:39
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b/s^|findstr /v "\.bat$"') do (
- set "a=%%~ni"
- if "!a:~100!" neq "" del "%%i"
- )
复制代码
作者: thp2008 时间: 2022-6-29 22:29
idwma 发表于 2022-6-29 20:39
首先谢谢您的帮助,我测试了一下,你这个是删除这个文件,我是要重命名这个文件,只删除文件名中超过100个字符的后的部分。就是只用文件名的前100个字符,作为文件名,后面的全删掉。麻烦帮我修改一下。万分感谢!
作者: idwma 时间: 2022-6-29 23:57
回复 3# thp2008 - setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b/s^|findstr /v "\.bat$"') do (
- set "a=%%~ni"
- if "!a:~100!" neq "" ren "%%i" "!a:~0,100!%%~xi"
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |