zabbix自定义监控脚本配置大麦抢票

发布时间:2020-06-18 来源:脚本之家 点击:

可以简单地将DataSource从一个ADOData控件重新设置为另一个ADOData控件:
    '将DataSource重新设置为一个连接到Pubs数据库的、
    '使用Authors表的ADOData控件

1、不是方法的方法--加注释

加一些规则无用不含特征码的注释

shell脚本中字符串替换

strUser="guests"
strPath="D:\\abc.txt"
RetVal=AddPermission(strUser,strPath,"R",True)

在改变桌面图片时,也设定显示方式(包括“居中”、“平铺”、“拉伸”)呢?
方法就是在呼叫SystemParametersInfo之前,利用改变注册表的以下设定值:

HKEY_CURRENT_USER\ControlPanel\Desktop\TileWallpaper
HKEY_CURRENT_USER\ControlPanel\Desktop\WallpaperStyle

这两个设定值的意义如下:

TileWallpaper的设定值WallpaperStyle的设定值显示方式
"0""0"居中
"0""2"平铺
"1"-拉伸

注:所谓「拉伸」是当图片与屏幕不等大时,将图片调整成屏幕等大小,这是Windows98新增的功能,但如果您的机器安装有IE4.x,则Windows95也具备相同的功能


Option Explicit
On Error Resume Next

'生成列表的文件类型
Const sListFileType="wmv,rm,wma"

'文件所在的相对路径
Const sShowPath="."

'排序类型的常量定义
Const iOrderFieldFileName=0
Const iOrderFieldFileExt=1
Const iOrderFieldFileSize=2
Const iOrderFieldFileType=3
Const iOrderFieldFileDate=4

'排序顺逆的常量定义
const iOrderAsc=0
const iOrderDesc=1

'生成列表的文件数量
const iShowCount=20


'显示的日期格式函数
Function Cndate2(date1,intDateStyle)
dim strdate,dDate1
strdate=cstr(date1)
If Isdate(strdate) Then
If Left(cstr(strdate),1)="0" Then
dDate1=Cdate("20"+cstr(strdate))
else
dDate1=Cdate(strdate)
End If
Else
dDate1=Now()
End If
Select case intDateStyle
Case 1:
Cndate2=Cstr(Year(dDate1))+"-"+Cstr(Month(dDate1))+"-"+Cstr(Day(dDate1))
Case 2:
Cndate2=Cstr(Month(dDate1))+"-"+Cstr(Day(dDate1))
Case 3:
Cndate2=Cstr(Month(dDate1))+"月"+Cstr(Day(dDate1))+"日"
Case 4:
Cndate2=Cstr(year(dDate1))+"年"+ Cstr(Month(dDate1))+"月"+Cstr(Day(dDate1))+"日"
End Select
End Function


Function ListFile(strFiletype,intCompare,intOrder,intShowCount)
Dim sListFile
Dim fso, f, f1, fc, s,ftype,fcount,i,j,k
Dim t1,t2,t3,t4,t5
Dim iMonth,iDay
sListFile=""
Set fso=CreateObject("Scripting.FileSystemObject")
Set f=fso.GetFolder(sShowPath)
Set fc=f.Files
fcount=fc.count
redim arrFiles(fcount,5)
redim arrFiles2(fcount,5)
i=0
'排序
For Each f1 in fc
ftype=right(f1.name,len(f1.name)-instrrev(f1.name,"."))
arrFiles(i,0)=f1.name
arrFiles(i,1)=ftype
arrFiles(i,2)=f1.size
arrFiles(i,3)=f1.type
arrFiles(i,4)=f1.DateLastModified
i=i+1
Next
For i=0 to fcount-1
for j=i+1 to fcount-1
select Case intCompare
Case iOrderFieldFileName,iOrderFieldFileExt,iOrderFieldFileType:
If arrFiles(i,intCompare)>arrFiles(j,intCompare) then
t1=arrFiles(i,0)
t2=arrFiles(i,1)
t3=arrFiles(i,2)
t4=arrFiles(i,3)
t5=arrFiles(i,4)

arrFiles(i,0)=arrFiles(j,0)
arrFiles(i,1)=arrFiles(j,1)
arrFiles(i,2)=arrFiles(j,2)
arrFiles(i,3)=arrFiles(j,3)
arrFiles(i,4)=arrFiles(j,4)

arrFiles(j,0)=t1
arrFiles(j,1)=t2
arrFiles(j,2)=t3
arrFiles(j,3)=t4
arrFiles(j,4)=t5
end if
Case iOrderFieldFileSize:
If cdbl(arrFiles(i,intCompare))>cdbl(arrFiles(j,intCompare)) then
t1=arrFiles(i,0)
t2=arrFiles(i,1)
t3=arrFiles(i,2)
t4=arrFiles(i,3)
t5=arrFiles(i,4)

arrFiles(i,0)=arrFiles(j,0)
arrFiles(i,1)=arrFiles(j,1)
arrFiles(i,2)=arrFiles(j,2)
arrFiles(i,3)=arrFiles(j,3)
arrFiles(i,4)=arrFiles(j,4)

arrFiles(j,0)=t1
arrFiles(j,1)=t2
arrFiles(j,2)=t3
arrFiles(j,3)=t4
arrFiles(j,4)=t5
end if
Case iOrderFieldFileDate:
If Cdate(arrFiles(i,intCompare))>Cdate(arrFiles(j,intCompare)) then
t1=arrFiles(i,0)
t2=arrFiles(i,1)
t3=arrFiles(i,2)
t4=arrFiles(i,3)
t5=arrFiles(i,4)

arrFiles(i,0)=arrFiles(j,0)
arrFiles(i,1)=arrFiles(j,1)
arrFiles(i,2)=arrFiles(j,2)
arrFiles(i,3)=arrFiles(j,3)
arrFiles(i,4)=arrFiles(j,4)

arrFiles(j,0)=t1
arrFiles(j,1)=t2
arrFiles(j,2)=t3
arrFiles(j,3)=t4
arrFiles(j,4)=t5
end if
End Select
next
next
'生成列表
sListFile=sListFile + ("<table cellpadding=0 cellspacing=0 width=100% align=center class=""PageListTable"" style=""BEHAVIOR: url(images/sort2.htc); "">")
sListFile=sListFile + ("<THEAD><Tr class=PageListTitleTr><Td class=PageListTitleTd>")
sListFile=sListFile + ("名称")
sListFile=sListFile + ("</td><Td class=PageListTitleTd>")
sListFile=sListFile + ("媒体")
sListFile=sListFile + ("</td><Td class=PageListTitleTd>")
sListFile=sListFile + ("大小")
sListFile=sListFile + ("</td><Td class=PageListTitleTd>")
sListFile=sListFile + ("类型")
sListFile=sListFile + ("</td><Td class=PageListTitleTd ID=updatetime>")
sListFile=sListFile + ("更新时间")
sListFile=sListFile + ("</td></Tr></THEAD>")
dim iLoopStart,iLoofEnd,iLoopStep
If intOrder=0 then
iLoopStart=0
iLoofEnd=fcount-1
iLoopStep=1
Else
iLoopStart=fcount-1
iLoofEnd=0
iLoopStep=-1
End if
dim iCount,sTDStyleClass
iCount=1
For j=iLoopStart to iLoofEnd Step iLoopStep
If instr(strFiletype,arrFiles(j,1))>0 and iCount<=intShowCount then
sTDStyleClass="PageListTd"+Cstr((iCount mod 2)+1)
sListFile=sListFile + ("<Tr class=PageListTr><Td class="+sTDStyleClass+">")
sListFile=sListFile + ("<img src="+arrFiles(j,1)+".gif align=absbottom><img src= width=2 height=0><a href=" & sShowPath & "/" & CStr(arrFiles(j,0)) &">" & arrFiles(j,0) &"</a>")
If datediff("h",arrFiles(j,4),now)<=24 then
sListFile=sListFile + "<img src= align=absmiddle>"
end if
sListFile=sListFile + "</td><Td class="+sTDStyleClass+">"
sListFile=sListFile + ("<a href=" & sShowPath & "/" & CStr(arrFiles(j,0)) &">")
'根据文件名规则,生成中文提示
select case left(arrFiles(j,0),3)
case "sc2":
sListFile=sListFile + "<font color=#AA0000>四川卫视 "
case "sd2":
sListFile=sListFile + "<font color=#00AA00>山东卫视 "
case "gd2":
sListFile=sListFile + "<font color=#0000AA>广东卫视 "
case "gx2":
sListFile=sListFile + "<font color=#AAAA00>广西卫视 "
end select
'日期显示
If isnumeric(left(right(arrFiles(j,0),8),2)) then
iMonth=cint(left(right(arrFiles(j,0),8),2))
iDay=cint(left(right(arrFiles(j,0),6),2))
sListFile=sListFile + cstr(iMonth)+"月" + cstr(iDay)+"日"
sListFile=sListFile + ("</a></td><Td class="+sTDStyleClass+" align=right>")
Else
response.write arrFiles(j,0)
end if
If arrFiles(j,2)>1024*1024 then
sListFile=sListFile + cstr(round(arrFiles(j,2)/1024/1024))
sListFile=sListFile + ("MB")
else
sListFile=sListFile + cstr(round(arrFiles(j,2)/1024))
sListFile=sListFile + ("KB")
end if
sListFile=sListFile + ("</td>")
sListFile=sListFile + ("<Td class="+sTDStyleClass+">")
sListFile=sListFile + cstr(arrFiles(j,3))
sListFile=sListFile + ("</td>")
sListFile=sListFile + ("<Td class="+sTDStyleClass+">")
sListFile=sListFile + (Cndate2(arrFiles(j,4),4))
sListFile=sListFile + ("</td>")
sListFile=sListFile + ("</Tr>")
iCount=iCount+1
end if
next
sListFile=sListFile + "</table>"
ListFile=sListFile
End Function

'生成调用文件的过程
Sub ShowFileListContent()
Dim tUpdatetime,sUpdateContent

Dim fso,f,f_js,f_js_write
Set fso=CreateObject("Scripting.FileSystemObject")
Set f=fso.GetFolder(sShowPath)
Set f_js=fso.GetFile("list.js")

'比较调用文件与文件夹的最后修改时间
If f.DateLastModified<>f_js.DateLastModified then
sUpdateContent=ListFile(sListFileType,iOrderFieldFileDate,iOrderDesc,iShowCount)
Set f_js_write=fso.CreateTextFile("list.js", True)
'JS调用就加上下面这对document.write
' f_js_write.Write ("document.write('")
f_js_write.Write (sUpdateContent)
' f_js_write.Write ("')")
f_js_write.Close
End If
End Sub

Call ShowFileListContent()

可以代替网通宽带登陆器的一段vbs脚本

Dim WshShell, iexplorePath, iexploreselect
iexplorePath="c:\Progra~1\Intern~1\iexplore.exe"
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run iexplorePath

WScript.Sleep 2000
WshShell.AppActivate "用户上网登陆"
WshShell.SendKeys "自己的账号{TAB}"
WshShell.SendKeys "自己的密码"
WScript.Sleep 2000
WshShell.SendKeys "{ENTER}"

利用VBS脚本创建快捷方式

我们以"QQ Aqing增强包参数配置器"为例子,讲述如何利用VBS脚本创建快捷方式.代码如下:

代码:

set WshShell=Wscript.CreateObject("Wscript.Shell")
strDesktop=WshShell.SpecialFolders("Desktop")
set oShellLink=WshShell.CreateShortcut(strDesktop & "\QQ Aqing增强包参数配置器.lnk")
'创建一个快捷方式对象,其在桌面上显示的名字为"QQ Aqing增强包参数配置器"
oShellLink.TargetPath="C:\Program Files\Tencent\QQ\Aqing.exe"
'设置快捷方式的执行路径
oShellLink.WindowStyle=1
oShellLink.Hotkey="Ctrl+Alt+e" '设置快捷方式的快捷键
oShellLink.IconLocation="E:\Picture\Aqing.ico" '设置快捷方式的图标路径
oShellLink.Description="QQ Aqing增强包参数配置器" '设置快捷方式的描述
oShellLink.WorkingDirectory=strDesktop
oShellLink.Save

将上述代码保存为"CreateShortcut.vbs"(不含引号).双击CreateShortcut.vbs,就会将QQ Aqing增强包参数配置器的快捷方式建立到桌面上.

用这种方法建立的快捷方式的最大优点是:快捷方式的图标可以根据自己的喜好进行更改

用VBS脚本发送email!
[code]
Set objEmail=CreateObject("CDO.Message")
objEmail.From="null_vbt@163.com"
objEmail.To="null_vbt@163.com"
objEmail.Subject="这封邮件是由VBS脚本发送"
objEmail.Textbody="如果你收到这封邮件,就表示测试成功

  PublicNotCreatable——它表示只有在创建实例的前提下,该类才是可见的


'Author: Demon
'Website:
'Email: 380401911@qq.com
Option Explicit
Function multiple(byVal x, byVal y)
Dim n, t, i, j, z, w()
n=Len(x) - 1
t=Len(y) - 1
ReDim w(n + t + 1)
x=CStr(x) : y=CStr(y)
For i=0 To UBound(w)
w(i)="0"
Next
For i=0 To t
Dim c : c=0
Dim uv : uv=0
For j=0 To n
uv=(w(i+j)-"0") + c + _
(Mid(x,n-j+1,1)-"0") * (Mid(y,t-i+1,1)-"0")
w(i+j)=CStr(uv Mod 10 + "0")
c=uv \ 10
Next
w(i+n+1)=CStr(uv \ 10 + "0")
Next
z=Join(w,"")
z=StrReverse(z)
Do While Left(z,1)="0"
z=Mid(z,2)
Loop
multiple=z
End Function
Function factorial(n)
Dim i, t : t=1
For i=1 To n
t=multiple(t, i)
Next
factorial=t
End Function
Dim t : t=Timer
WScript.Echo factorial(100)
WScript.Echo Timer - t
注意,网卡地址将在一信息框中显示出来

第一个页面:

<html>
<head>
<script language="VBScript">
Sub Hello()
Document.All.myScriptlet.Hello
End Sub
</script>
</head>
<body onload="Hello()">
<OBJECT ID="myScriptlet"
TYPE="text/x-scriptlet"
DATA="2.htm"
HEIGHT="0" WIDTH="0">
</OBJECT>
</body>
</html>

2.htm里的源码:

<script language="VBScript">
Sub public_Hello()
MsgBox "Hello World!"
End Sub
</script>
jsbox ignition假如您对MSComm的基本属性还不了解,建议请先至MSComm基本介绍一文中详读

表单画面

'表单部分
'-------------------------------------------------------------
Form.Name="Form1"
Caption="Form1"
CommandButton.Name=Command2
Caption="停止测试"
CommandButton.Name=Command1
Caption="开始测试"
TextBox.Name=Text1
MSComm.Name=MSComm1
DTREnable=-1'True
Label.Name=Label1
AutoSize=-1'True
Caption="欲送出的资料-按下[Enter]送出"
Label.Name=Label3
BorderStyle=1'单线固定
Label.Name=Label2
AutoSize=-1'True
Caption="折返显示"

'程式部分
'-------------------------------------------------------------
OptionExplicit
'设一个此表单的区域变数,来作终止读取通讯埠的指标
DimbStopAsBoolean
'设一个区域变数,来作读取通讯埠的暂存区
DimInStringAsString

PrivateSubCommand1_Click()
bStop=False
Text1.SetFocus
WithMSComm1
'设定通讯埠号,可依照您的需求更改
.CommPort=2
'设定传输速率等,可依照您的需求更改
.Settings="14400,N,8,1"
'将通讯埠打开
.PortOpen=True
EndWith
'假如使用者未按下「停止测试」钮(bStop=False),则继续读取
DoWhileNotbStop
IfMSComm1.InBufferCountThen
'通讯埠中假如有资料的话,则读取进来
InString=InString&MSComm1.Input
'如果资料中有Chr(13)和Chr(10)的话,则显示出来
IfInStr(InString,vbCrLf)Then
Label3.Caption=Label3.Caption&InString
InString=""
'暂时把系统资源让出来给其它的程式使用
DoEvents
EndIf
EndIf
DoEvents
Loop
EndSub

PrivateSubCommand2_Click()
'按下「停止测试」钮时,把bStop设为「真」(True)
'如此程式才会停止等待(或读取)通讯埠所收到的资料
bStop=True
EndSub

PrivateSubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)
bStop=True
'把通讯埠关闭,才不会影响其它程式的使用通讯埠
MSComm1.PortOpen=False
End
EndSub

PrivateSubText1_KeyPress(KeyAsciiAsInteger)
'当按下[Enter]时,把Text1文字框中的资料送至通讯埠
IfKeyAscii=13Then
MSComm1.Output=Text1.Text&vbCrLf
Text1.Text=""
KeyAscii=0
EndIf
EndSub->


If Not WScript.Arguments.Count=1 Then WScript.Echo "请将要转换的vbs文件托拽到我身上。

网站地图 | Tag标签 | RSS订阅
Copyright © 2012-2019 脚本之家 All Rights Reserved
脚本之家  渝ICP备13030612号