[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何将文本里指定字符串替换成另一个文本里列出的内容

本帖最后由 pcl_test 于 2016-10-25 18:53 编辑

如何批量替换
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会


我在另外一个txt(班级名.txt)里存放着全校班级名称,一行一个,格式如下:
一1班
一2班
一3班
一4班
一5班
一6班
一7班
一8班
二1班
二2班
二3班
二4班
二5班
二6班
1

评分人数

回复 17# /zhqsystem/zhq


    15楼说已经解决了,祝你好运。

TOP

回复 16# GNU
无语,没点眼药水吧,你看懂了为什么在2楼去追问?如果已有完整答案为什么没有标记已解决?说明问题依旧没有解决需要追问或是上传必要文本,路径,改变后文本,每个人的解题方式不一样,需要这些数据来综合整理思路,难道全校只有4年级?
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 14# /zhqsystem/zhq


    这么简单的问题都看不懂,还好意思说人家是伸手党。

TOP

回复 13# CrLf


    也不是什么伸手党      术业有专攻嘛   ,谢谢大家的帮忙!
已经解决! 祝大家工作顺利!

TOP

楼上怎么答的,我居然没看懂,楼主来个样本[要求格式],注意个人隐私部分,替换后样本[要求格式],是否用第三方,是否包含特殊字符,是否可以建立临时文件夹和文本,是否归档,这样会便于处理问题
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

这届伸手党的表达能力令人担忧啊!

TOP

回复 11# kongzhezhi
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. type nul > "结果.txt"
  4. for /f %%i in ('type "班级名.txt"') do (
  5.     for /f %%j in ('type "原始文件.txt"') do (
  6.         set "LineOld=%%j"
  7.         set LineNew=!LineOld:四3班=%%i!
  8.         >>"结果.txt" echo !LineNew!
  9.     )
  10. )
复制代码

TOP

回复 10# GNU


    你好 ,我运行了一下 ,有一点点出入!
目前运行结果是 有多少班级生成了多少txt
需求是仅仅生成一个txt  如:   结果.txt

结果txt里大概是这样的

一1班成绩表_一1班人数统计_一1班男生_一1班女生_一1学生班群_一1班教师群_一1班运动员_一1班三好生_一1班书友会
一2班成绩表_一2班人数统计_一2班男生_一2班女生_一2学生班群_一2班教师群_一2班运动员_一2班三好生_一2班书友会
一3班成绩表_一3班人数统计_一3班男生_一3班女生_一3学生班群_一3班教师群_一3班运动员_一3班三好生_一3班书友会
一4班成绩表_一4班人数统计_一4班男生_一4班女生_一4学生班群_一4班教师群_一4班运动员_一4班三好生_一4班书友会
一5班成绩表_一5班人数统计_一5班男生_一5班女生_一5学生班群_一5班教师群_一5班运动员_一5班三好生_一5班书友会

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%i in ('type "班级名.txt"') do (
  4.     for /f %%j in ('type "原始文件.txt"') do (
  5.         set "LineOld=%%j"
  6.         set LineNew=!LineOld:四3班=%%i!
  7.         >>"新文件_%%i.txt" echo !LineNew!
  8.     )
  9. )
复制代码
1

评分人数

TOP

本帖最后由 523066680 于 2016-10-25 16:09 编辑

回复 8# kongzhezhi


      我的是Perl代码,需要另外安装Perl环境的

找4楼修改批处理~

大概就是像这样  for /f %%a in (班级名.txt) do

TOP

回复 5# 523066680


    你好朋友 ,可能我没有列清楚,其实班级名称很多很多的!而且每次后面也不一定就是   男生 女生  ,所以关键就是替换 班级名字

就是用  txt里面的  各个班级来替换 四3班
其实那txt里还有很多班级的,我没有一一列出!
所以还是比较希望 班级名称写在txt里!

我可能在一个txt里放上几十几百行一样的

四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会
四3班成绩表_四3班人数统计_四3班男生_四3班女生_四3学生班群_四3班教师群_四3班运动员_四3班三好生_四3班书友会


然后用班级.txt 里的班级名称去替换

这样得到的新的txt就是各个班级了!

谢谢 !

TOP

回复 2# GNU


    就是用  txt里面的  各个班级来替换 四3班
其实那txt里还有很多班级的,我没有一一列出!
所以还是比较希望 班级名称写在txt里!

TOP

  年纪上去了 , 力不从心啊  ,这样好了我经常给论坛捐助吧

TOP

本帖最后由 523066680 于 2016-10-25 11:25 编辑

回复 4# aa77dd@163.com


    咦 批处理比perl简洁!
也模仿此格式,坐等codegay发python (可惜还是少了个搞ruby的,三缺一啊)
  1. use utf8;
  2. binmode(STDOUT, ":encoding(gbk)");
  3. my @title = qw/成绩表 人数统计 男生 女生 学生班群 教师群 运动员 三好生 书友会/;
  4. for my $name (qw/
  5. 一1班
  6. 一2班
  7. 一3班
  8. 一4班
  9. 一5班
  10. 一6班
  11. 一7班
  12. 一8班
  13. 二1班
  14. 二2班
  15. 二3班
  16. 二4班
  17. 二5班
  18. 二6班
  19. /)
  20. {
  21.     print join("_", map { $name . $_ } @title ), "\n";
  22. }
复制代码

TOP

返回列表