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

[文本处理] 批处理如何实现将一个文本里的特定字符串替换为另一文本中的随机一行

本帖最后由 pcl_test 于 2016-12-5 20:51 编辑

有当前目录下,有N个文件。


第一个文件“项目目录.txt”中的内容为:
        针对于项目A的这种情况,我们可采取【项目A方案】这样的方案,避免特殊情况的发生。
        但是除了要推动项目A外,我们仍需考虑项目B,避免项目A不被市场所接受而遭受较大损失,比如说采取【项目B方案】这样的手段来作为备用……
第二个文件“【项目A方案】.txt”中的内容为(其中每个方案为一行):
        项目A方案一
        项目B方案二
        项目C方案三
        ……
第三个文件“【项目B方案】.txt”中的内容为(其中每个方案为一行):
        项目B方案一
        项目B方案二
        项目B方案三
        ……
第四个文件“【项目C方案】.txt”中的内容为(其中每个方案为一行):
        项目C方案一
        项目C方案二
        项目C方案三
        ……
………………


而所需要的,就是将“项目目录.txt”中的关键字“【项目???】”修改,替换为相对应“【项目???方案】.txt”文件中,随机一套方案(也就是替换“【项目???方案】.txt”中的随机一行)。

回复 4# pcl_test


    这...什么意思?...没看懂...

TOP

  1. /*&cls
  2. @echo off
  3. rem 保存为批处理文件跟所有相关txt文件放一起运行
  4. cscript -nologo -e:jscript "%~f0"<"项目目录.txt"
  5. pause&exit
  6. */
  7. var fso=new ActiveXObject('Scripting.FileSystemObject');
  8. WSH.echo(WSH.StdIn.ReadAll().replace(/【项目[^【]+?方案】/g, function(a){
  9. return fso.OpenTextFile(a+'.txt',1).ReadAll().split(/[\r\n]+/).sort(function(){return Math.random()-0.5})[0]}))
复制代码

TOP

回复 2# Blitz


    但是就算给我我也不会啊,随机行问题我压根不知道如何解决。

TOP

本帖最后由 Blitz 于 2016-12-6 00:10 编辑

http://www.bathome.net/thread-25518-1-1.html
   8楼
类似的,自己看着改一下就好了

TOP

返回列表