. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
thuer
 
thuer 的头像
初级会员
 
资 料:
注册日期: Mar 2004
帖子: 218 声望值: 2
精华: 0,解答: 1
#1 旧 2008-07-29, 13:22:57 默认 【求助】不足连续三个数字用0补足
thuer 当前离线  

英语口语365-1-19.mp3
英语口语365-20-38.mp3
英语口语365-39-56.mp3
英语口语365-57-75.mp3
英语口语365-76-93.mp3
英语口语365-94-111.mp3

更改为:
英语口语365-001-019.mp3
等等

请问用totalcommander可以吗?如果不行,编辑器里查找替换怎么写这个正则?
crackabc
 
crackabc 的头像
超级会员
 
资 料:
注册日期: Aug 2005
帖子: 1,624 声望值: 2
精华: 0,解答: 2
#2 旧 2008-07-29, 13:35:08 默认
crackabc 当前离线  

查找365-(/d),替换365-00(1)
查找365-(/d/d),替换365-0(1)
查找365-(/d/d/d)-(/d),替换365-(1)-00(2)
查找365-(/d/d/d)-(/d/d),替换365-(1)-0(2)
呵呵,笨办法,不知道还有没高招
crackabc
 
crackabc 的头像
超级会员
 
资 料:
注册日期: Aug 2005
帖子: 1,624 声望值: 2
精华: 0,解答: 2
#3 旧 2008-07-29, 13:40:13 默认
crackabc 当前离线  

totalcommander好像不行么
JustPro
 
JustPro 的头像
核心会员
 
资 料:
注册日期: Sep 2001
帖子: 3,317 声望值: 3
精华: 4,解答: 1
#4 旧 2008-07-29, 13:42:22 默认
JustPro 当前离线  

total的正则可以呀

可能要多替换几次
1、-(\d\d)- 替换为 -0$1-
2、-(\d)- 替换为 -00$1-

不这也是笨方法啦:)


曹操语录:累不会死人,爽才会死人
thuer
 
thuer 的头像
初级会员
 
资 料:
注册日期: Mar 2004
帖子: 218 声望值: 2
精华: 0,解答: 1
#5 旧 2008-07-29, 13:48:43 默认
thuer 当前离线  

引用:
作者: JustPro 查看帖子
total的正则可以呀

可能要多替换几次
1、-(\d\d)- 替换为 -0$1-
2、-(\d)- 替换为 -00$1-

不这也是笨方法啦:)
这还只处理了中间的数字,
比如:英语口语365-1-19.mp3,除了1变成001,19还需要变成019
crackabc
 
crackabc 的头像
超级会员
 
资 料:
注册日期: Aug 2005
帖子: 1,624 声望值: 2
精华: 0,解答: 2
#6 旧 2008-07-29, 13:50:50 默认
crackabc 当前离线  

我也来问一下,有什么好的文件重命名工具,要尽量完整支持正则的。
powergrep好像只能替换文件里的东西。
crackabc
 
crackabc 的头像
超级会员
 
资 料:
注册日期: Aug 2005
帖子: 1,624 声望值: 2
精华: 0,解答: 2
#7 旧 2008-07-29, 13:55:13 默认
crackabc 当前离线  

引用:
作者: thuer 查看帖子
这还只处理了中间的数字,
比如:英语口语365-1-19.mp3,除了1变成001,19还需要变成019
那就用[],呵呵。
recyclebin
 
recyclebin 的头像
超级会员
 
资 料:
注册日期: Sep 2000
帖子: 1,668 声望值: 2
精华: 0,解答: 1
#8 旧 2008-07-29, 14:07:54 默认
recyclebin 当前离线  

我笨,我把文件名导到excel里面解决了再批处理更名。


====
===
==
=
thuer
 
thuer 的头像
初级会员
 
资 料:
注册日期: Mar 2004
帖子: 218 声望值: 2
精华: 0,解答: 1
#9 旧 2008-07-29, 14:14:59 默认
thuer 当前离线  

引用:
作者: crackabc 查看帖子
查找365-(/d),替换365-00(1)
查找365-(/d/d),替换365-0(1)
查找365-(/d/d/d)-(/d),替换365-(1)-00(2)
查找365-(/d/d/d)-(/d/d),替换365-(1)-0(2)
呵呵,笨办法,不知道还有没高招
这个可以,呵呵,可以解决问题,期待更佳方案,欢迎大家探讨。
我在emeditor里用
查找: -(\d{1,2})([^\d])
替换: -0\1\2
得连按三下replace all才行,为何不能一次替换完呢?
在totalcommander里也是这样,得重命名好几次,一样的规则

此帖于 2008-07-29 14:41:53 被 thuer 编辑. . 原因: ——
crackabc
 
crackabc 的头像
超级会员
 
资 料:
注册日期: Aug 2005
帖子: 1,624 声望值: 2
精华: 0,解答: 2
#10 旧 2008-07-29, 14:28:05 默认
crackabc 当前离线  

拖把更名器正则功能很弱,但有一点好,能够导入要更改的文件名,这样就能按文件名的顺序来重命名了,不知道其他有没什么软件也能实现这个功能。
thuer
 
thuer 的头像
初级会员
 
资 料:
注册日期: Mar 2004
帖子: 218 声望值: 2
精华: 0,解答: 1
#11 旧 2008-07-29, 14:38:16 默认
thuer 当前离线  

引用:
作者: crackabc 查看帖子
拖把更名器正则功能很弱,但有一点好,能够导入要更改的文件名,这样就能按文件名的顺序来重命名了,不知道其他有没什么软件也能实现这个功能。
total commander语法稍有不同,但也很强大:
查找:-(\d{1,2})([^\d])
替换:-0$1$2
重复三次。
lucida
 
lucida 的头像
终极会员
 
资 料:
注册日期: Sep 2001
帖子: 8,204 声望值: 3
精华: 4,解答: 106
#12 旧 2008-07-29, 15:03:37 默认
lucida 当前离线  

取巧的办法,假如非要一行解决


$ awk 'BEGIN { FS = "-" } ; { printf("mv %s %s-%03d-%03d.mp3\n",$0, $1,$2,$3) }
' < test.txt > rename.cmd

$ cat rename.cmd
mv 英语口语365-1-19.mp3 英语口语365-001-019.mp3
mv 英语口语365-20-38.mp3 英语口语365-020-038.mp3
mv 英语口语365-39-56.mp3 英语口语365-039-056.mp3
mv 英语口语365-57-75.mp3 英语口语365-057-075.mp3
mv 英语口语365-76-93.mp3 英语口语365-076-093.mp3
mv 英语口语365-94-111.mp3 英语口语365-094-111.mp3

$ cat test.txt
英语口语365-1-19.mp3
英语口语365-20-38.mp3
英语口语365-39-56.mp3
英语口语365-57-75.mp3
英语口语365-76-93.mp3
英语口语365-94-111.mp3
thuer
 
thuer 的头像
初级会员
 
资 料:
注册日期: Mar 2004
帖子: 218 声望值: 2
精华: 0,解答: 1
#13 旧 2008-07-29, 16:51:01 默认
thuer 当前离线  

引用:
作者: crackabc 查看帖子
我也来问一下,有什么好的文件重命名工具,要尽量完整支持正则的。
powergrep好像只能替换文件里的东西。
貌似就是total commander啦
borwide
 
borwide 的头像
高级会员
 
资 料:
注册日期: Aug 2002
帖子: 955 声望值: 3
精华: 0,解答: 1
#14 旧 2008-07-29, 19:09:53 默认
borwide 当前离线  

引用:
作者: lucida 查看帖子
取巧的办法,假如非要一行解决

[shell]
$ awk 'BEGIN { FS = "-" } ; { printf("mv %s %s-%03d-%03d.mp3\n",$0, $1,$2,$3) }
' < test.txt > rename.cmd

$ c......
呵呵,老大把awk都祭出来了。这个超难用,不过也是超强。
borwide
 
borwide 的头像
高级会员
 
资 料:
注册日期: Aug 2002
帖子: 955 声望值: 3
精华: 0,解答: 1
#15 旧 2008-07-29, 19:13:24 默认
borwide 当前离线  

Flash Renamer 6.1 的 Zero Padding功能能够一步完成 。
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 20:40:53.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号