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

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

本帖最后由 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》拥有了文辞简约的特点,但也造成了史料不足的缺点。
复制代码
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2
http://www.diecasting86.com

本帖最后由 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]}));
复制代码

TOP

回复 8# 920168


    呵呵,大家误会了,我接前面的说假如,不是说他。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 6# cjiabing


    版主误会了,如果AD(广告) ,伪原创的软件一搜一大把,自动关联TAG,高亮关键词什么 的!
http://www.diecasting86.com

TOP

大家可能言重了,个人感觉此贴应该不是广告帖,《三国志》有什么好打广告的?不知利益从何而来……经验判断,打广告的人不会反复查看原贴的,往往是散弹射击法,打完就走,绝不回头,哈哈。
1

评分人数

看得多说得多,远比不上写得多。

TOP

如果是做广告的最好去找那些赚钱的大侠去,这里不是助纣为虐的地方。
不用选择哪行了吧?直接全部替换算了,手工业可以操作。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

  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

评分人数

    • 920168: 自己尝试好几天,无果,看了你的廓然开朗, ...技术 + 1
看得多说得多,远比不上写得多。

TOP

怎么没人帮忙????
http://www.diecasting86.com

TOP

本帖最后由 920168 于 2011-12-21 11:21 编辑

回复 2# HAT


    你说那些SEO?我不是做那个的!我是看到这个贴
http://www.bathome.net/thread-14536-1-1.html
引思的
http://www.diecasting86.com

TOP

那些在各个论坛到处发广告的人也是像你这样干的吧?

TOP

返回列表