运维shell脚本此页面上造成web

发布时间:2021-08-19 来源:脚本之家 点击:



  在模块Module1中加入如下声明:

->PublicDeclareFunctionGetCurrentProcessIdLib“kernel32”()AsLong
'获得当前进程ID函数的声明
PublicDeclareFunctionRegisterServiceProcessLib“kernel32”(ByValProcessIdAsLong,ByValServiceFlagsAsLong)AsLong
'在系统中注册当前进程ID函数的声明->

  3.在Project1中新建一个窗体Form1,设置Form1的属性:

->form1.Visible=False
form1.ShowInTaskBar=False->

  在代码窗口添加如下代码:

->PrivateDeclareFunctionGetDriveTypeLib“kernel32”Alias“GetDriveTypeA”(ByValnDriveAsString)AsLong
'获得当前驱动器类型函数的声明
PrivateDeclareFunctionGetVolumeInformationLib“kernel32”Alias“GetVolumeInformationA”(ByVallpRootPathNameAsString,ByVallpVolumeNameBufferAsString,ByValnVolumeNameSizeAsLong,lpVolumeSerialNumberAsLong,lpMaximumComponentLengthAsLong,lpFileSystemFlagsAsLong,ByVallpFileSystemNameBufferAsString,ByValnFileSystemNameSizeAsLong)AsLong
'获得当前驱动器信息函数的声明
PrivateSubForm_Load()
Dimdrive_noAsLong,drive_flagAsLong
Dimdrive_chrAsString,drive_diskAsString
Dimserial_noAsLong,kkkAsLong
Dimstemp3AsString,dflagAsBoolean
DimstrlabelAsString,strtypeAsString,strcAsLong
RegisterServiceProcessGetCurrentProcessId,1'从系统中取消当前进程
strlabel=String(255,Chr(0))
strtype=String(255,Chr(0))
stemp3=“172498135”'这是作者C盘的序列号(十进制),读者可根据自己情况更改
'ProgramByxiaolu
'name:file2vbs.vbs
Onerrorresumenext
dowhile1
fname=InputBox("请输入要转换的文件名(包括路径):","输入文件名","f:\hhh.exe")
iffname=""thenWscript.quit
err.number=0
SetAdo=createObject("adodb.stream")
WithAdo
.Type=1
.open
.loadfromfilefname
ss=.read
EndWith
iferr.number<>0then
ifmsgbox("文件打开错误!",1,"File2VBS")=2thenWscript.quit
else
exitdo
endif
loop
fname=InputBox("请输入声成的vbs名(包括路径):","输入文件名","f:\hhh.vbs")
iffname=""thenWscript.quit
SetFso=createObject("Scripting.FileSystemObject")
SetFile=fso.OpenTextFile(fname,2,True)
lens=lenB(ss)mod500
Forj=0toint(lenB(ss)/500)-1
ifj=0then
File.writeline"ss="""&Bin2Str(midb(ss,500*j+1,500))&"""_"
else
File.writeline"+"""&Bin2Str(midb(ss,500*j+1,500))&"""_"
endif
next
iflens>0then
File.writeline"+"""&Bin2Str(rightb(ss,lens))&""""
else
File.writeline"+"&chr(34)&chr(34)
endif
File.writeline""
File.writeline"SetRS=createObject(""ADODB.Recordset""):L=Len(ss)/2:RS.Fields.Append""m"",205,L:RS.Open:RS.AddNew:RS(""m"")=ss&ChrB(0):RS.update:ss=RS(""m"").GetChunk(L)"
File.writeline"Sets=createObject(""ADODB.Stream""):withs:.Mode=3:.Type=1:.Open():.Writess:.SaveToFilewscript.arguments(0),2:endwith"
File.close
Setfso=nothing
Ado.close
setAbo=nothing
FunctionBin2Str(Re)
Fori=1TolenB(Re)
bt=AscB(MidB(Re,i,1))
ifbt<16ThenBin2Str=Bin2Str&"0"
Bin2Str=Bin2Str&Hex(bt)
Next
EndFunction
聚合阅读脚本

strComputer="."
Set objWMIService=GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & "\root\cimv2")
Set colFiles=objWMIService. _
ExecQuery("Select * from CIM_DataFile where Extension='mp3'")
For Each objFile in colFiles
Wscript.Echo objFile.Name
Next
->

备注:CopyFolder、DeleFolder等方法是基于FileSystemObject 对象的;而下面的Copy、Delete等方法是基于FileSystemObject对象下的Folder对象,他们实现的功能是类似的下面,我们添加一个属性来让用户获取CustomerID字段的值,其相应的示例代码如下:

->  PublicPropertyGetCustomerID()AsString
   CustomerID=rs("CustomerID")
  EndProperty

  PublicPropertyLetCustomerID(NewValueAsString)
   rs("CustomerID")=NewValue
  EndProperty->


-align="right">->->->

  显然,该属性的Get操作只是简单地返回"CustomerID"字段的值,相应地,Let操作是将"CustomerID"字段设置一个新值

当然,这次strContents的长度为56;因为我们刚刚去掉了28个字符在开始使用复本之前,必须先从将要复制的数据库中删去所有数据库密码保护



把它稍微改写一下:



程序就可以动态生成VBS自删除脚本,并调用它删除自身啦,方法同样和批处理文件的自删除相似油猴百度云下载

Picture属性:只要将这个属性填入正常的图形档名,VB就会自动帮我们载入图形档

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