无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 7815|回复: 28
打印 上一主题 下一主题

[求助] 正则表达式批量替换文件名称

[复制链接]
跳转到指定楼层
1#
发表于 2018-8-12 20:33:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 freesoft00 于 2018-8-12 20:43 编辑

CAD系统课1讲:如何安装和注册14版CAD软件?初学者只要看了就会.mp4
CAD系统课2讲:初次见面“先要认识下界面”,初学者一定要先了解.mp4
CAD系统课3讲:第一次打开软件不要急于画图,要先做绘图设置!.mp4
CAD系统课4讲:用公制的图形文件画图,能减少一些不必要的操作!.mp4
CAD系统课5讲:初学者入门学会这些知识和操作,可提高画图速度!.mp4
CAD系统课6讲:如何理解坐标系,绝对坐标和相对坐标?全是干货!.mp4
CAD系统课7讲:初学者入门必须真正理解绘制图形的基本操作!干货.mp4
CAD系统课8讲:如何绘制直线?很少人使用第2种绘制斜线的方法!.mp4
CAD系统课9讲:什么是点选,框选,减选及如何操作?满满的干货!.mp4

文件类似上面的形式。
批量重命名,把1、2、3数字更改为类似01、02、03这样的。
有批量重命名软件,好像这种中间有数字的只能用正则表达式替换吧?也许是自己不会使用这些批量重名软件。
如果用正则,这个正则替换规则如何写

CAD系统课[1-9] 替换为    替换为什么不会写
2#
发表于 2018-8-12 21:04:43 | 只看该作者
这个批量重命名,使用 好压 haozip 的批量文件改名(有绿色单文件版),可以简单实现。


评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

3#
 楼主| 发表于 2018-8-12 22:26:48 | 只看该作者
本帖最后由 freesoft00 于 2018-8-12 23:32 编辑

看来是我使用的批量重命名软件比较弱的原因。
Total Commander的批量重命名好像没有这个功能,也是是不会用

advanced renamer这个不知道是否可以。也是不太会用。
回复

使用道具 举报

4#
发表于 2018-8-13 05:33:47 | 只看该作者
本帖最后由 tools241 于 2018-8-13 05:36 编辑

利用 仿Linux命令 sed.exe

sed.exe -e "s:\([0-9]\):0\1:" < input.txt > output.txt

* 注解:
sed.exe -e "编辑指令" < 输入档 > 输出档
编辑指令中有 "s/找字串一/改成字串二/" 或 "s:找字串一:改成字串二:" ,
其中 s 表示 "替代"
\([0-9][0-9]*\) 表示将 \(  \) 的内容存到字串二的 \1 中 ,
[0-9]  表示一个字为范围介于0-9之间的数字,
[0-9]* 表示数字重复出现任意次(含零次) ,


* 如何利用 仿unix/linux命令 sed 一次替换文字中的 "某些相似性的字串" ==>
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=383106

* windows下安装 UnxUtils -- 仿 unix/linux 命令 (约120个) ==>
   http://bbs.wuyou.net/forum.php?mod=viewthread&tid=383107




点评

命令行的,自己学学用用可以。 给其他人用,感觉gui的比较容易。  详情 回复 发表于 2018-8-13 09:43

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

5#
发表于 2018-8-13 08:41:08 | 只看该作者
用tc可以替换,点位到位置后加入0就可以了

点评

Total Commander我试了试,没有找到。主要使用Total Commander少也不太会用。 可否具体说一下操作步骤。  详情 回复 发表于 2018-8-13 09:48

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

6#
 楼主| 发表于 2018-8-13 09:43:11 | 只看该作者
tools241 发表于 2018-8-13 05:33
利用 仿Linux命令 sed.exe

sed.exe -e "s:\([0-9]\):0\1:" < input.txt > output.txt

命令行的,自己学学用用可以。
给其他人用,感觉gui的比较容易。
回复

使用道具 举报

7#
 楼主| 发表于 2018-8-13 09:48:04 | 只看该作者
l3429900 发表于 2018-8-13 08:41
用tc可以替换,点位到位置后加入0就可以了

Total Commander我试了试,没有找到。主要使用Total Commander少也不太会用。
可否具体说一下操作步骤。

点评

TC批量重命名我记得有正则功能呀。。就在批量重命名工具右侧  详情 回复 发表于 2018-8-13 14:52
文件- 批处理重命名-【N#-#】范围  详情 回复 发表于 2018-8-13 12:04
回复

使用道具 举报

8#
发表于 2018-8-13 10:20:36 | 只看该作者
不应该是简单的“^CAD系统课([1-9])”替换为“CAD系统课0\1”就可以了吗?

点评

替换后不对。 所有前面的变成了 CAD系统课0\1 应该是替换为的 内容不对。  详情 回复 发表于 2018-8-13 15:13

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

9#
发表于 2018-8-13 12:04:27 | 只看该作者
freesoft00 发表于 2018-8-13 09:48
Total Commander我试了试,没有找到。主要使用Total Commander少也不太会用。
可否具体说一下操作步骤。

文件- 批处理重命名-【N#-#】范围

点评

好的。大概知道这个用法了。 还是软件不会用的原因。  详情 回复 发表于 2018-8-13 15:49
回复

使用道具 举报

10#
发表于 2018-8-13 14:52:50 | 只看该作者
freesoft00 发表于 2018-8-13 09:48
Total Commander我试了试,没有找到。主要使用Total Commander少也不太会用。
可否具体说一下操作步骤。

TC批量重命名我记得有正则功能呀。。就在批量重命名工具右侧

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

11#
 楼主| 发表于 2018-8-13 15:13:28 | 只看该作者
holley2008 发表于 2018-8-13 10:20
不应该是简单的“^CAD系统课([1-9])”替换为“CAD系统课0\1”就可以了吗?

替换后不对。
所有前面的变成了  CAD系统课0\1
应该是替换为的 内容不对。

点评

[attachimg]378310[/attachimg]  详情 回复 发表于 2018-8-13 18:28
回复

使用道具 举报

12#
 楼主| 发表于 2018-8-13 15:49:40 | 只看该作者
l3429900 发表于 2018-8-13 12:04
文件- 批处理重命名-【N#-#】范围

好的。大概知道这个用法了。
还是软件不会用的原因。
回复

使用道具 举报

13#
发表于 2018-8-13 16:10:45 | 只看该作者
找下菲菲更名宝贝,最好用的更名软件,功能强大

点评

多谢了。 界面不太习惯。 感觉太凌乱了。 所以就没有使用这个软件。  详情 回复 发表于 2018-8-13 16:29

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

14#
 楼主| 发表于 2018-8-13 16:29:14 | 只看该作者
ducs 发表于 2018-8-13 16:10
找下菲菲更名宝贝,最好用的更名软件,功能强大

多谢了。
界面不太习惯。
感觉太凌乱了。
所以就没有使用这个软件。
回复

使用道具 举报

15#
发表于 2018-8-13 17:11:13 | 只看该作者
acdsee 2.4

点评

老黄历就不用它了。多谢  详情 回复 发表于 2018-8-13 18:17

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

16#
发表于 2018-8-13 17:56:34 | 只看该作者
用pecmd嘛,sed命令简单明了。

点评

恩。pecmd挺强大。命令感觉也挺复杂。主要pe上用。生产环境中用的不多。 主要也考虑了给其他人用,所以想找一个gui的解决方法。  详情 回复 发表于 2018-8-13 18:17

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

17#
 楼主| 发表于 2018-8-13 18:17:15 | 只看该作者
527104427 发表于 2018-8-13 17:56
用pecmd嘛,sed命令简单明了。

恩。pecmd挺强大。命令感觉也挺复杂。主要pe上用。生产环境中用的不多。
主要也考虑了给其他人用,所以想找一个gui的解决方法。
回复

使用道具 举报

18#
 楼主| 发表于 2018-8-13 18:17:37 | 只看该作者

老黄历就不用它了。多谢
回复

使用道具 举报

19#
发表于 2018-8-13 18:17:58 来自手机 | 只看该作者
最简单的方式,手工加~
回复

使用道具 举报

20#
发表于 2018-8-13 18:28:22 | 只看该作者
freesoft00 发表于 2018-8-13 15:13
替换后不对。
所有前面的变成了  CAD系统课0\1
应该是替换为的 内容不对。

点评

notepad++支持这种正则。 everedit不支持。 Total Commander 的批量重命名 替换正则也不支持  详情 回复 发表于 2018-8-13 19:37
回复

使用道具 举报

21#
 楼主| 发表于 2018-8-13 19:37:26 | 只看该作者

notepad++支持这种正则。
everedit不支持。
Total Commander 的批量重命名 替换正则也不支持

点评

试过ultraedit的列模式么?如果是固定的位置,列模式很好用  详情 回复 发表于 2018-8-14 08:42
回复

使用道具 举报

22#
发表于 2018-8-13 20:14:51 | 只看该作者

简单至极,不需要任何正则

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

23#
发表于 2018-8-14 08:42:24 | 只看该作者
freesoft00 发表于 2018-8-13 19:37
notepad++支持这种正则。
everedit不支持。
Total Commander 的批量重命名 替换正则也不支持

试过ultraedit的列模式么?如果是固定的位置,列模式很好用

点评

多谢 其它编辑器也有列模式,有些时候可以解决问题。 我只是想知道批量替换这种解决方法。  详情 回复 发表于 2018-8-14 10:55
回复

使用道具 举报

24#
 楼主| 发表于 2018-8-14 10:55:28 | 只看该作者
l3429900 发表于 2018-8-14 08:42
试过ultraedit的列模式么?如果是固定的位置,列模式很好用

多谢
其它编辑器也有列模式,有些时候可以解决问题。
我只是想知道批量替换这种解决方法。
回复

使用道具 举报

25#
发表于 2018-8-14 11:11:20 | 只看该作者
如果自己用列模式的话,excel就可以了,另存为bat,我自己一直用excel批量改名

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

26#
发表于 2018-8-14 17:00:44 | 只看该作者
  1. Sub v()

  2. With CreateObject("VBSCRIPT.REGEXP")
  3.        .Pattern = "课(\d)讲"
  4.        .Global = True
  5. For i = 1 To 12
  6. Cells(i, 2) = .Replace(Cells(i, 1).Text, "课0$1讲")
  7. Next i
  8. End With

  9. End Sub
复制代码

点评

vbs主要自己不懂。  详情 回复 发表于 2018-8-14 17:44

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

27#
 楼主| 发表于 2018-8-14 17:44:19 | 只看该作者

vbs主要自己不懂。
回复

使用道具 举报

28#
发表于 2018-8-15 10:17:04 | 只看该作者
闲的...水平有限,折腾N久 终于把批处理修改的方式弄出来了
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set str1=CAD系统课
  4. set str2=CAD系统课0
  5. for /f "delims=" %%a in ('dir /a-d /b *.mp4') do (
  6.         set  "var=%%a"
  7.         set  "var=!var:%str1%=%str2%!"
  8.         ren "%%a" !var!
  9. )
复制代码

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5 多谢

查看全部评分

回复

使用道具 举报

29#
发表于 2019-12-16 02:39:39 | 只看该作者
其实如果只是插入0,用ReNamer指定位数后插入或者替换位数就可以啊,其实好多重命名工具都支持
Advanced Renamer、AntRenamer2、FFRenamePro、namegenerator、ReNamer、春林文件批量改名系统6.8、菲菲更名宝贝 8.0、深蓝文件批量重命名工具、拖把更名器 SRename、好压批量文件改名
太多了


正则其实前后都带上就行了
课1讲= (课)([0-9])(讲)替换为$10$2$3
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-26 16:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表