免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1047 | 回复: 10

[文本处理] 改文件名 [复制链接]

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2019-11-22 08:02 |显示全部楼层
本帖最后由 aaaa_123 于 2019-11-22 10:28 编辑

大家好最近遇到问题有点多, 麻烦大家了

文件夹下有2000多个大大小小不同名称的文本,需要在文件名最前面加入数字和横杠,但是得按b内文件名先后次序加入数字

ls *.txt
玛莎拉蒂_24.txt
宝马_45.txt
奔驰_21.txt
丰田_105.txt
丰田冠_80.txt


b.txt已编缉好次序
cat b.txt
玛莎拉蒂_24
宝马_45
奔驰_21
丰田冠_80
丰田_105


加入数字和横杠更改后文件名称     数字大小是根据b.txt先后次序
1-玛莎拉蒂_24.txt
2-宝马_45.txt
3-奔驰_21.txt
4-丰田冠_80.txt
5-丰田_105.txt

非常感谢
因为平常使用Win环境的多
批处理可能会更适合使用环境,如果不shell也行的






论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2019-11-22 08:53 |显示全部楼层
           

论坛徽章:
7
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:4015-16赛季CBA联赛之广夏
日期:2019-10-10 15:33:4015-16赛季CBA联赛之辽宁
日期:2019-10-15 08:37:06
发表于 2019-11-22 09:00 |显示全部楼层
本帖最后由 cfwyy 于 2019-11-22 12:14 编辑

bat
  1. @echo off
  2. for /f "tokens=*" %%i in ('dir /b *.txt') do (
  3.         for /f "delims=:" %%j in ('findstr /n /r "^%%~ni$" b.txt') do (
  4.                 rename "%%i" "%%j-%%i"
  5.         )
  6. )
  7. pause
复制代码

几千个没试过,建议先做好备份。

评分

参与人数 1可用积分 +30 收起 理由
飘絮絮絮丶 + 30 赞一个!

查看全部评分

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2019-11-22 09:40 |显示全部楼层
回复 3# cfwyy

试了一下, 基本可以, 似乎次序有点不太准确   会不会是不支持文件名某些字符格式呢   例如 这样文件名
cat b.txt
玛莎拉蒂_24
宝马_45
奔驰_21
丰田_104


论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2019-11-22 09:53 |显示全部楼层
回复 3# cfwyy

我试了一下似乎发生数字重复,  会不会是有些文件存在部分相同原因呢
谢谢
QQ截图20191122094935.png


论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2019-11-22 09:57 |显示全部楼层
应该是存在部分文件名相同原因,   b文件名需要全部正确匹配上

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2019-11-22 10:12 |显示全部楼层
再测了一下 发现是代码数字算法重复使用, 存在插入算法相同数字情况

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2019-11-22 10:19 |显示全部楼层
大哥再帮忙改一下

论坛徽章:
7
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:4015-16赛季CBA联赛之广夏
日期:2019-10-10 15:33:4015-16赛季CBA联赛之辽宁
日期:2019-10-15 08:37:06
发表于 2019-11-22 12:16 |显示全部楼层
回复 8# aaaa_123

已更新。

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2019-11-22 13:25 |显示全部楼层
回复 9# cfwyy

谢谢      这次帅了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

ITPUB技术栈

ITPUB技术栈:http://z.itpub.net/
ITPUB技术栈是由ITPUB社区打造的垂直于IT领域的知识交流平台,在这里,你既可以是创作者也可以是消费者。如果你的IT生涯丰富多彩,喷薄的个人价值尽可在小栈内体现;如果你渴望找到志同道合的伙伴,拓宽人脉,小栈会是你最好的选择。





点击进入>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP