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

[文本处理] [已解决]求一个批处理命令:自动按格式添加文本内容

本帖最后由 效之 于 2015-5-20 07:47 编辑

求助各位老师们学长们:

是一个linux下的conf文本,内容是这样的
server=/a.com/114.114.114.114
ipset=/a.com/ss
server=/b.com/114.114.114.114
ipset=/b.com/ss
server=/c.com/114.114.114.114
ipset=/c.com/ss
整个文本都是这样的内容,唯一变化的就是/ /里面的域名。
现在是在当前目录下,已经有这么一个后缀为conf的文件,要在当前目录下建一个批处理文件,在已经有这个conf文件的基础上,添加(server=,ipset=)这样的域名记录,
提示用户输入域名,比如用户输入一个www.abc.com这样的域名,或者download.abc.com,或者www.download.abc.com这样的域名,批处理判断,只保留顶级域名,自动在这个conf文件末尾,添加上
server=/abc.com/114.114.114.114
ipset=/abc.com/ss
这样用户按照提示输入一个或者多个域名,只保留顶级域名,然后用户输入完毕,保存该conf文件,就完事了。
还有不能破坏该文件本来的换行符,新输入的也必须是linux换行符。

请各位老大不吝赐教,不胜感激之至!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 pcl_test 于 2015-5-20 19:06 编辑

vbs
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set file = fso.OpenTextFile("./测试.conf", 8, True)
  3. url =InputBox("请输入域名网址(多个以英文逗号,分隔)")
  4. If url = "" Then
  5. WScript.quit
  6. End If
  7. Set re = New RegExp
  8. '包括了常见的国际顶级域名,没有的自行在下面一行代码添加
  9. domains = "com|net|org|gov|edu|info|mobi"
  10. re.Pattern = "[\w\-]+?\.(" & domains & ")(\.[a-z]{2})?"
  11. re.IgnoreCase = True
  12. re.Global = True
  13. arr = split(url,",")
  14. For i=0 to ubound(arr)
  15. Set matches = re.Execute(arr(i))
  16. s=""
  17. For Each match in matches
  18. s=s&match
  19. Next
  20. file.Write "server=/"&s&"/114.114.114.114"&Chr(10)&"ipset=/"&s&"/ss"&Chr(10)
  21. Next
  22. file.Close
复制代码
1

评分人数

TOP

简单修改一下就能用了!
非常感谢!

TOP

返回列表