标题: [文件操作] [已解决]按已有的名称序号给文件名编序 [打印本页]
作者: 小文 时间: 2015-2-22 19:47 标题: [已解决]按已有的名称序号给文件名编序
本帖最后由 小文 于 2015-3-4 17:40 编辑
有这样的文档(注,任意后的数字与前面的数字无关,仅代表不同的文字):
1、任意1
2、任意2
3、任意3
4、任意4
5、任意5
6、任意6
7、任意7
8、任意8
9、任意9
10、任意10
11、任意11
12、任意12
13、任意13
14、任意14
15、任意15
16、任意16
17、任意17
18、任意18
19、任意19
这样的文件(顺序不定):
任意1
任意16
任意2
任意15
任意3
任意4
任意6
任意7
任意8
任意17
任意9
任意10
任意11
任意12
任意5
任意13
任意14
任意18
任意19
问题:
怎样把文件命名以文档命名,把序号给文件名加上(如果可以,并补齐数位)?
如:
001任意1
016任意16
002任意2
015任意15
下面是一堆文件:
日记本.txt
妇产科联盟.txt
变形钢筋.txt
丘比特人.txt
偷奶神爸.txt
中国队长.txt
下面是一堆文字:
1、妇产科联盟.txt
2、偷奶神爸.txt
3、丘比特人.txt
4、变形钢筋.txt
5、中国队长.txt
21、日记本.txt
通过文字给文件命名为:
001、妇产科联盟.txt
002、偷奶神爸.txt
003、丘比特人.txt
004、变形钢筋.txt
005、中国队长.txt
021、日记本.txt
实用场景:
有一批教程有N多文件,教程的目录列出了教程由浅而深的文件排列信息。但是在真实的文件目录里,这些N多文件是没有顺序的。这样的话不看目录就不知道要先看哪个文件了。所以要根据目录信息给文件编出顺序。
作者: pcl_test 时间: 2015-2-22 20:22
本帖最后由 pcl_test 于 2015-2-23 00:24 编辑
回复 1# 小文
举例不当,说明不清,表示没弄懂,只能猜测你想要的效果- @echo off
- setlocal enabledelayedexpansion
- cd /d "D:\test\"
- for /f "delims=" %%a in ('dir /a-d /b *.*') do (
- set "name=%%~na"
- >$ echo,!name:~-2,-1!
- findstr "[1-9]" $ >nul 2>nul &&ren "%%~a" "0!name:~-2!%%~a"||ren "%%~a" "00!name:~-1!%%~a"
- )
- del $
- pause
复制代码
作者: CrLf 时间: 2015-2-23 00:26
楼主说的“任意”是不是一个文件名中一段非数字的部分
按我的理解,会不会是这样:- 妇产科联盟1
- 变形钢筋4
- 丘比特人3
- 偷奶神爸2
- 中国队长3
复制代码
变成- 001妇产科联盟1
- 004变形钢筋4
- 003丘比特人3
- 002偷奶神爸2
- 003中国队长3
复制代码
作者: 小文 时间: 2015-2-23 12:34
回复 2# pcl_test
非常抱歉我没有叙述清楚,你的代码不可用。谢谢你的解答。我重新举例和说明了,你看看这下能不能理解……
作者: 小文 时间: 2015-2-23 12:36
回复 3# CrLf
嗯嗯,是这样的,但后面的数字只是表示“任意”是一个同的名称。另外,我已经重新描述问题,谢谢。
作者: pcl_test 时间: 2015-2-23 14:12
本帖最后由 pcl_test 于 2015-2-23 14:23 编辑
回复 4# 小文
实际自行修改- @echo off
- cd /d "D:\test\"
- for /f "tokens=1-2 delims=、" %%a in ('type "name.txt"') do (
- if %%a lss 10 (
- ren "%%b" "00%%a、%%b"
- ) else (
- ren "%%b" "0%%a、%%b"
- )
- )
- pause
复制代码
作者: 小文 时间: 2015-2-23 22:15
回复 6# pcl_test
那它怎样修改才可以也处理子目录中的呢?如果那些文件不是在同一个目录下的情况。
作者: pcl_test 时间: 2015-2-23 22:25
回复 7# 小文
最通用的方法就是结合搜索文件代码(虽然效率有点慢),也就是读取name.txt,然后在文件夹搜索(N级子文件夹也不成问题)出文件后再更名
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |