脚本功能:将input函数的默认IP,替换为最后一次手动输入的IP,并保存到该运行脚本文件中
Dim patrn1,patrn2,patrn3
patrn1 = "(\S)+\.(\S)+\.(\S)+\.(\S)+"
patrn2 = "(\d)+\.(\d)+\.(\d)+\.(\d)+"
patrn3 = "\bipdefault(\s)+(\S)+(\s)+(\S)+(\d)+\.(\d)+\.(\d)+\.(\d)+"
Dim FileName, Find, ReplaceWith, FileContents, dFileContents
Dim ipinput,ipdefault
Set objShell = CreateObject("Wscript.Shell")
pathscript = Wscript.ScriptFullName
FileName = pathscript
ipdefault = "1.1.1.1"
ipinput = inputbox ("input ip address pls",,ipdefault)
if checkipformat(ipinput) = false then
ipinput = "1.1.1.1"
else
end if
newcontents = "ipdefault = " & Chr(34) & ipinput
'读取文件
FileContents = GetFile(FileName)
'替换IP
dFileContents = ReplaceTest(FileContents,patrn3,newcontents)
'比较源文件和替换后的文件
if dFileContents <> FileContents Then
'保存替换后的文件
WriteFile FileName, dFileContents
Wscript.Echo "Replace done."
end if
'函数:读取文件
function GetFile(FileName)
If FileName<>"" Then
Dim FS, FileStream
Set FS = CreateObject("Scripting.FileSystemObject")
on error resume Next
Set FileStream = FS.OpenTextFile(FileName)
GetFile = FileStream.ReadAll
End If
End Function
'函数:写文件
function WriteFile(FileName, Contents)
Dim OutStream, FS
on error resume Next
Set FS = CreateObject("Scripting.FileSystemObject")
Set OutStream = FS.OpenTextFile(FileName, 2, True)
OutStream.Write Contents
End Function
'将str1种匹配patrn的内容替换为str2
Function ReplaceTest(str1,patrn,str2)
Dim regEx ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
ReplaceTest = regEx.Replace(str1, str2) ' 作替换。
End Function
'检查ipinput
Function checkipformat(s)
dim re
set re = new RegExp
re.pattern = "(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})+"
re.ignoreCase = false '忽略大小写
re.Global = false '非全局匹配
checkipformat = re.test(s) '返回Boolean值,匹配为True,不匹配为False
End Function