标题: [文本处理] [已解决]求一个批处理命令:自动按格式添加文本内容 [打印本页]
作者: 效之 时间: 2015-5-19 19:22 标题: [已解决]求一个批处理命令:自动按格式添加文本内容
本帖最后由 效之 于 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换行符。
请各位老大不吝赐教,不胜感激之至!
作者: pcl_test 时间: 2015-5-19 21:16
本帖最后由 pcl_test 于 2015-5-20 19:06 编辑
vbs- Set fso = CreateObject("Scripting.FileSystemObject")
- Set file = fso.OpenTextFile("./测试.conf", 8, True)
- url =InputBox("请输入域名网址(多个以英文逗号,分隔)")
- If url = "" Then
- WScript.quit
- End If
- Set re = New RegExp
- '包括了常见的国际顶级域名,没有的自行在下面一行代码添加
- domains = "com|net|org|gov|edu|info|mobi"
- re.Pattern = "[\w\-]+?\.(" & domains & ")(\.[a-z]{2})?"
- re.IgnoreCase = True
- re.Global = True
- arr = split(url,",")
- For i=0 to ubound(arr)
- Set matches = re.Execute(arr(i))
- s=""
- For Each match in matches
- s=s&match
- Next
- file.Write "server=/"&s&"/114.114.114.114"&Chr(10)&"ipset=/"&s&"/ss"&Chr(10)
- Next
- file.Close
复制代码
作者: 效之 时间: 2015-5-20 07:46
简单修改一下就能用了!
非常感谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |