找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29473|回复: 9

[文本处理] [已解决]批处理如何将一个文本中的指定字符串逐个随机替换成另一个文本中的某一行

[复制链接]
发表于 2011-12-20 21:29:29 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-8-9 10:12 编辑

批处理如何随机获取文本某行,对指定字符进行逐行替换?
a.txt (可能包含特特殊字符,内容很多,仅举例)
  1. 可能包含特特殊字符《三国志》不仅是一部史学巨著,更是一部文学巨著。
  2. 陈寿在尊重史实的基础上,以简练、优美的语言为我们绘制了一幅幅三国人物肖像图。
  3. 人物塑造得非常生动,可读性极高。《三国志》取材精审,作者对史实经过认真的考订,慎重的选择,
  4. 对于不可靠的资料进行了严格的审核,不妄加评论和编写,
  5. 慎重的选择取材之源。这虽然使
  6. 内容简介《三国志》不仅是一部史学巨著,更是一部文学巨著。
  7. 陈寿在尊重史实的基础上,
  8. 以简练、优美的语言为我们绘制了一幅幅三国人物肖像图。人物塑造得非常生动,
  9. 可读性极高。《三国志》取材精审,作者对史实经过认真的考订,慎重的选择,对于不可靠的资料进行了严格的审核,不妄加评论和编写,慎重的选择取材之源。
  10. 这虽然使《三国志》拥有了文辞简约的特点,但也造成了史料不足的缺点。
复制代码
b.txt

  1. 《三国志—001》
  2. 《三国志—002》
  3. 《三国志—003》
  4. 《三国志—004》
  5. 《三国志—005》
  6. 《三国志—006》
  7. 《三国志—007》
复制代码
需要达到的要求:替换“《三国志》”为如下:
  1. 可能包含特特殊字符《三国志—002》不仅是一部史学巨著,更是一部文学巨著。
  2. 陈寿在尊重史实的基础上,以简练、优美的语言为我们绘制了一幅幅三国人物肖像图。
  3. 人物塑造得非常生动,可读性极高。《三国志—001》取材精审,作者对史实经过认真的考订,慎重的选择,
  4. 对于不可靠的资料进行了严格的审核,不妄加评论和编写,
  5. 慎重的选择取材之源。这虽然使
  6. 内容简介《三国志—004》不仅是一部史学巨著,更是一部文学巨著。
  7. 陈寿在尊重史实的基础上,
  8. 以简练、优美的语言为我们绘制了一幅幅三国人物肖像图。人物塑造得非常生动,
  9. 可读性极高。《三国志—002》取材精审,作者对史实经过认真的考订,慎重的选择,对于不可靠的资料进行了严格的审核,不妄加评论和编写,慎重的选择取材之源。
  10. 这虽然使《三国志—006》拥有了文辞简约的特点,但也造成了史料不足的缺点。
复制代码

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-12-20 22:59:59 | 显示全部楼层
那些在各个论坛到处发广告的人也是像你这样干的吧?
 楼主| 发表于 2011-12-21 11:16:53 | 显示全部楼层
本帖最后由 920168 于 2011-12-21 11:21 编辑

回复 2# HAT


    你说那些SEO?我不是做那个的!我是看到这个贴
http://www.bathome.net/thread-14536-1-1.html
引思的
 楼主| 发表于 2011-12-21 21:25:37 | 显示全部楼层
怎么没人帮忙????
发表于 2011-12-21 22:38:34 | 显示全部楼层

  1. @echo off&setlocal enabledelayedexpansion
  2. set "replace=《三国志》"
  3. for /f "delims=" %%a in (b.txt) do set/a n+=1&set "#!n!=%%a"
  4. for /f "delims=" %%a in (a.txt) do (
  5.   set/a m=!random!%%n+1
  6.   for %%i in (!m!) do set "x=!#%%i!"
  7.   for %%i in (!x!) do set "str=%%a"&set "str=!str:%replace%=%%i!"
  8.   echo,!str!
  9. )
复制代码

评分

参与人数 1技术 +1 收起 理由
920168 + 1 自己尝试好几天,无果,看了你的廓然开朗, ...

查看全部评分

发表于 2011-12-21 22:57:09 | 显示全部楼层
如果是做广告的最好去找那些赚钱的大侠去,这里不是助纣为虐的地方。
不用选择哪行了吧?直接全部替换算了,手工业可以操作。
发表于 2011-12-21 23:11:18 | 显示全部楼层
大家可能言重了,个人感觉此贴应该不是广告帖,《三国志》有什么好打广告的?不知利益从何而来……经验判断,打广告的人不会反复查看原贴的,往往是散弹射击法,打完就走,绝不回头,哈哈。

评分

参与人数 1技术 +1 收起 理由
920168 + 1 谢谢!

查看全部评分

 楼主| 发表于 2011-12-22 12:52:50 | 显示全部楼层
回复 6# cjiabing


    版主误会了,如果AD(广告) ,伪原创的软件一搜一大把,自动关联TAG,高亮关键词什么 的!
发表于 2011-12-22 18:43:58 | 显示全部楼层
回复 8# 920168


    呵呵,大家误会了,我接前面的说假如,不是说他。
发表于 2016-8-9 10:32:01 | 显示全部楼层
本帖最后由 pcl_test 于 2016-8-9 10:33 编辑
  1. //&cls&cscript -nologo -e:jscript "%~f0" "a.txt" "b.txt"&pause&exit
  2. var fso = new ActiveXObject('Scripting.Filesystemobject');
  3. var text = fso.OpenTextFile(WSH.Arguments(1), 1).ReadAll().split(/\r?\n/);
  4. WSH.Echo(fso.OpenTextFile(WSH.Arguments(0), 1).ReadAll().replace(/《三国志》/g, function(){return text.sort(function(){return Math.random()-.5})[0]}));
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 17:40 , Processed in 0.022873 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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