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

[问题求助] [已解决]vbs语句及软件问题问题

本帖最后由 1270697389 于 2013-10-23 13:25 编辑

问题1、
vsb的功能很强大,但是不太熟悉,下了个汉化版的vsb无法使用,提示无法创建空文档。
2、有个语句我搞不懂,看了vsb教程还是没搞懂。大家帮我看看。
1.txt的内容:
<li><a href="http://www.chuxingyi.net/">首页</a></li>
        vbvnng<li><a href="http://www.chuxingyi.net/txt/1_1.html">玄幻</a></li>
        nnjgfgu<li><a href="http://www.chuxingyi.net/txt/2_1.html">修真</a></li>
        <li><a href="http://www.chuxingyi.net/txt/3_1.html">都市</a></li>
        dhghkg<li><a href="http://www.chuxingyi.net/txt/4_1.html">历史</a></li>
                kh        <li><a href="http://www.chuxingyi.net/txt/5_1.html">网游</a></li>
                ffg        <li><a href="http://www.chuxingyi.net/txt/6_1.html">科幻</a></li>
        jkj                <li><a href="http://www.chuxingyi.net/txt/7_1.html">推理</a></li>
        l;                <li><a href="http://www.chuxingyi.net/txt/8_1.html">灵异</a></li>
        =-lkk                <li><a href="http://www.chuxingyi.net/txt/9_1.html">同人</a></li>


我现在要提取每一行的<a href="http://www.chuxingyi.net/txt/6_1.html"这一段
代码如下:
Set fso = CreateObject("Scripting.FileSystemObject")
text = fso.OpenTextFile("a.txt").ReadAll
Set re = New RegExp
re.Pattern = "^<li^>(.*)^>"
re.Global = True
re.IgnoreCase = True
For Each a In re.Execute(text)
    str = str & a.SubMatches(0) & vbCrLf
Next
fso.opentextfile("b.txt",2,true).Write str
可是运行了每提取。应该是转意这里出了问题。谢谢!
1

评分人数

    • batman: 感谢给帖子标题标注[已解决]字样PB + 2
初九的冬天

回复  1270697389

    你说的是vbseditor吗?
Batcher 发表于 2013-10-23 20:24


是vbsedit 里面只有vbsedit.exe,samples.xml,vbsedit_snippets.dat,这三个文件。
开始用没问题,后来下了个安装版的,这个就不行了。
初九的冬天

TOP

回复 7# 1270697389


    你说的是vbseditor吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

从哪里下载的?
Batcher 发表于 2013-10-22 22:44



    是论坛的,软件应该是没问题,我下的是汉化版的,开始可以,然后我就下了个安装版的,安装的时候360提示病毒,我就把360关了,再后来汉化的就打不开了,只能用英文的安装版了。软件是没问题的,估计是360把我电脑里的什么东西给删了。
初九的冬天

TOP

如楼主实在是要取到每一行的.*"
batman 发表于 2013-10-22 23:26



    有一事不明,这里为什么不需要转意符就可以?我试了,可行。非常棒,谢谢!
初九的冬天

TOP

首先我要告诉你这个强大的脚本语言叫VBS不是VSB
其次我要告诉你当代码不止一行时请用code标签将代码如下括 ...
batman 发表于 2013-10-22 22:42



    哈哈,不好意思,我写错了,是vbs不是vsb,谢谢您!
我以前不知道有vbs,一直不了解,现在尝到了甜头,非常好用,我正在一个一个的学习,希望没有影响到论坛的正常次序,谢谢!
初九的冬天

TOP

如楼主实在是要取到每一行的<a href="http://www.chuxingyi.net/txt/6_1.html"这一段,
正则应改成:objREG.Pattern = ".*<li>(.*"")>.*"
***共同提高***

TOP

下了个汉化版的vsb无法使用

从哪里下载的?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

首先我要告诉你这个强大的脚本语言叫VBS不是VSB
其次我要告诉你当代码不止一行时请用code标签将代码如下括起来
[\code]
代码
[\/code]这里都多打了一个\字符是为了让你看到这个示例
提取url的代码如下:
  1. Dim objFSO, objStr
  2. Set objFSO = CreateObject("Scripting.FileSystemObject")
  3. objStr = objFSO.OpenTextFile("a.txt").ReadAll
  4. Dim objREG
  5. Set objREG = New RegExp
  6. objREG.Global = True
  7. objREG.IgnoreCase = True
  8. objREG.Pattern = ".*""([a-zA-z]+://[^\s]+)"".*"
  9. objStr = objREG.Replace(objStr, "$1")
  10. Set objREG = Nothing
  11. objFSO.OpenTextFile("new.txt", 2, True).Write Replace(objStr, vbLf, vbCrLf)
  12. Set objFSO = Nothing
  13. WScript.Echo "ok"
复制代码
***共同提高***

TOP

返回列表