标题: [文件操作] 【已解决】批处理怎样给TXT批量补0,求教各位老师 [打印本页]
作者: zhuan1688 时间: 2020-12-22 15:59 标题: 【已解决】批处理怎样给TXT批量补0,求教各位老师
谢谢各位老师,我用qixiaobin0715老师的方法完美解决了!
再次感谢
搜了论坛里批量补0的帖子,都不能满足要求,劳烦各位老师帮忙
如下图,有几十万TXT文档,要求将第几章之间的数字补0,即第1章改成第01章,第9章改成第09章,第10章等满两位的不变
且第几章之外的数字不要改动
拜谢
作者: Batcher 时间: 2020-12-22 16:43
回复 1# zhuan1688
截图里面有个第0章,改成第00章吗?
作者: qixiaobin0715 时间: 2020-12-22 16:51
本帖最后由 qixiaobin0715 于 2020-12-22 21:04 编辑
注意备份文件。小批量试试- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b /a-d^|findstr "\-第[0-9]章"') do (
- set "str=%%a"
- set "str=!str:-第=-第0!"
- ren "%%a" "!str!"
- )
- pause
复制代码
作者: qixiaobin0715 时间: 2020-12-22 17:17
第0章不改的话可将代码中的[0-9]修改成[1-9]
作者: qixiaobin0715 时间: 2020-12-22 21:06
本帖最后由 qixiaobin0715 于 2020-12-22 23:05 编辑
回复 1# zhuan1688
忘记"-"需要转义了,已修改。
作者: ivor 时间: 2020-12-22 21:36
本帖最后由 ivor 于 2020-12-23 20:10 编辑
- powershell "dir *.txt | Rename-Item -NewName { $_.Name -replace '(?<=第)(\d)(?=章)','0$1' }"
复制代码
作者: qixiaobin0715 时间: 2020-12-24 18:36
回复 1# zhuan1688
其实3楼第3行代码想复杂了,有点画蛇添足的意味。- @echo off
- setlocal enabledelayedexpansion
- for %%a in (*第?章*.txt) do (
- set "str=%%a"
- set "str=!str:-第=-第0!"
- ren "%%a" "!str!"
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |