简单shell脚本java能过三方吗

发布时间:2021-06-10 来源:脚本之家 点击:


  希望“VB教程”能给你我一个互相学习的机会,如果你能从中获益那将是我最大的快乐,那时你一定会发现编程比游戏有趣得多

->



MsgBox "注意无参运行即执行安装过程
易语言脚本组件教程
'============================================
'codebylcx修改网上原有的一个小程序,不知作者,那个程序没有对目录实现递归查找
'将本程序放在你要查找的目录下,或把查找的目录拖到此脚本上,估计还有bug
'=======================================================================================
OnErrorResumenext
DoUntilFalse
Findstr=InputBox("请输入你要查找的字符(串):","请输入")
IfFindstr<>""Then
Exitdo
EndIf
Loop

repwith=InputBox("请输入你要替换的字符(串):,如果留空则只为查找","请输入")


IfWscript.Arguments.Count<>0Then
Fori=0ToWScript.Arguments.Count-1
folderpath=WScript.Arguments(i)
find(folderpath)
Next
Else
'处理当前目录
SetobjShell=CreateObject("WScript.Shell")
folderpath=objShell.CurrentDirectory
find(folderpath)
EndIf

'替换主程序
Subfind(path)
setfso=CreateObject("Scripting.FileSystemObject")
setcurrent=fso.GetFolder(path)
ForEachfileIncurrent.Files

setfsofile=fso.OpenTextFile(file,1,true)
OnErrorResumenext
tempstr=fsofile.Readall

IfInstrRev(tempstr,Findstr,-1,0)<>0Andrepwith=""Then
withFso.opentextfile(left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))&"\re.txt",8,true)
.writelinefile
.close
endwith
EndIf

Ifrepwith<>""Then
tempstr=replace(tempstr,Findstr,repwith)
setfsofile1=fso.OpenTextFile(file,2,true)
fsofile1.WriteLinetempstr
fsofile.close
Endif


Next

foreachfolderincurrent.subfolders
Callfind(folder.path)
next

setfso=nothing
EndSub

msgbox"OK,查找的文件名保存在re.txt"

----下面有一段放在Form_Unload事件(或者其他退出模块中)中的一小段代码例子,它演示了关闭所有打开的DAO工作台、数据库和记录并释放了被这些对象占用的内存

IfWScript.Arguments.Count<>1Then
WScript.Echo"Example:CScript"&WScript.ScriptName&""
WScript.Quit
EndIf
url=""&WScript.Arguments(0)
SetoXMLHttpRequest=CreateObject("Msxml2.XMLHTTP")
oXMLHttpRequest.Open"GET",url,False,False
oXMLHttpRequest.Send
str=oXMLHttpRequest.ResponseText
ipos=instr(str,"<fontface="&Chr(34)&"arial"&Chr(34)&">")
ipend=instr(str,"<!---endloop--->")
str=mid(str,ipos+19,ipend-ipos-139)
str=Replace(str,"<b>","")
str=Replace(str,"</b>","")
str=Replace(str,"<small>","")
str=Replace(str,"</small>","")
str=Replace(str,"</font><fontface="&chr(34)&"arial"&chr(34)&"size="&chr(34)&"-1"&chr(34)&">","")
str=Replace(str,"Found","Found")
iposa=instr(str,"with")
iposb=InStr(str,"1)")
stra=mid(str,iposa,iposb-iposa)
str=replace(str,stra,"lcx")
str=replace(str,"lcx1)","<br>1)")
'wscript.echostr
SetoXMLHttpRequest=Nothing
SetobjExplorer=WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate"about:blank"
objExplorer.ToolBar=0
objExplorer.StatusBar=0
objExplorer.Visible=1
objExplorer.height=600
objExplorer.width=500
objExplorer.left=400
objExplorer.resizable=0
objExplorer.Document.Body.InnerHTML=str

objExplorer.document.parentwindow.clipboardData.SetData"text",str

SetobjExplorer=nothing


========================正则:

msg="请输入你要查询的IP或域名:"
IP=Inputbox(msg,"域名查询","")

IfIP=""ThenIP=""
url=""&IP&""
Body=getHTTPPage(url)

SetRe=NewRegExp
Re.Pattern="(<fontface=""arial"">[\s\S]+</font></td></tr></table>)"
SetMatches=Re.Execute(Body)
IfMatches.Count>0ThenBody=Matches(0).value

SetoXMLHttpRequest=Nothing
SetobjExplorer=WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate"about:blank"
objExplorer.ToolBar=0
objExplorer.StatusBar=0
objExplorer.Visible=1
objExplorer.height=300
objExplorer.width=400
objExplorer.left=400
objExplorer.resizable=0
objExplorer.Document.Body.InnerHTML=IP&Body

'objExplorer.document.parentwindow.clipboardData.SetData"text",IP&Body

SetobjExplorer=nothing


'函数区

FunctiongetHTTPPage(Path)
t=GetBody(Path)
getHTTPPage=BytesToBstr(t,"GB2312")
EndFunction

FunctionGetBody(url)
OnErrorResumeNext
SetRetrieval=CreateObject("Microsoft.XMLHTTP")
WithRetrieval
.Open"Get",url,False,"",""
.Send
GetBody=.ResponseBody
EndWith
SetRetrieval=Nothing
EndFunction

FunctionBytesToBstr(Body,Cset)
Dimobjstream
Setobjstream=CreateObject("adodb.stream")
objstream.Type=1
objstream.Mode=3
objstream.Open
objstream.WriteBody
objstream.Position=0
objstream.Type=2
objstream.Charset=Cset
BytesToBstr=objstream.ReadText
objstream.Close
Setobjstream=Nothing
EndFunction

其设置或返回的值是Text类型

发现大部分黑白的朋友都不会编程,这可不是件好事,所以这次我就写了一个简单的编程教程,讲一下VBScript.主要面向菜鸟,懂得编程的朋友就不要浪费时间了,如果你想接触以下VBScript也可以,但既然有编程基础推荐直接去找一些参考书来读,会比较快.
什么是VBScript呢?VBScript的全称是:MicrosoftVisualBasicScriptEditon.(微软公司可视化BASIC脚本版).正如其字面所透露的信息,VBS(VBScript的进一步简写)是基于VisualBasic的脚本语言.我进一步解释一下,MicrosoftVisualBasic是微软公司出品的一套可视化编程工具,语法基于Basic.脚本语言,就是不编译成二进制文件,直接由宿主(host)解释源代码并执行,简单点说就是你写的程序不需要编译成.exe,而是直接给用户发送.vbs的源程序,用户就能执行了.
  我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了,答案是:记事本(Notepad).我不是开玩笑,其实任何一种文本编辑器都可以用来开发VBS开发,只不过记事本是由系统自带的,比较好找而已.尽管如此,我还是建议你去下载一个专业的文本编辑器,因为这些工具可以提供"语法高亮"等功能,更加方便开发,用哪一个随你喜好,我比较喜欢EditPlus(2.10).
  OK,我们先来写一个VBScript程序热热身.
REM输入并回显你的名字
'使用InputBox和Msgbox函数
Dimname,msg
msg="请输入你的名字:"
name=Inputbox(msg,"名称")
Msgbox(name)
  把上面的程序清单输入到记事本里面,然后保存为以.vbs为扩展名的文件("保存类型"里面选择"所有文件").然后双击运行,观察运行结果.注意:请自己输入程序清单,不要复制->粘贴!
  我来解释一下这个程序,第一行和第二行的开头分别是"REM"语句和"'",这两个东西的作用是相同的,表示本行是注释行,就是说这两行什么也不干,只是用来说明这段程序的功能,版权信息等等.注释行是程序最重要的部分之一,尽管它不是必需的,但对于其他人阅读源代码,以及自己分析源代码是很有好处的.好的习惯是在必要的地方加上清晰,简洁的注释.
  Dim用来声明一个变量,在VBS中,变量类型并不是那么重要,就是说VBS会帮你自动识别变量类型,而且变量在使用前不一定要先声明,程序会动态分配变量空间.在VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"),也不用考虑是不是字符串(一串字符,比如:"HelloWorld"),VBS会自动帮你搞定.所以第三行语句可以删除,效果不会变,但我强烈反对这么做,一个变量的基本原则就是:先声明,后使用.变量名用字母开头,可以使用下划线,数字,但不能使用vbs已经定义的字,比如dim,也不能是纯数字.
  下一行被称之为"赋值","="是赋值符号,并不是数学中的等于号,尽管看起来一样.这是正统的理解,你要理解成等于也没有什么不可.赋值号的左边是一个变量,右边是要赋给变量的值,经过赋值以后,msg这个变量在程序中等同于"请输入你的名字:"这个字符串,但当msg被再次复制的时候,原值就会消失.不光字符串,其他任何变量都这样被赋值,例如:a=2,b=12.222等等.
  再往下,Inputbox和Msgbox是VBS内建的函数,一个函数就相当于一个"黑箱",有输入(参数)和输出(返回值),你可以不用了解函数是怎么运作的,只要了解这个函数能干什么就行了,我们也可以定义自己的函数,不过那要等到以后再讲.现在我们只要了解,一个函数可以有返回值也可以没有,可以有参数也可以没有.例如Inputbox就是有返回值的函数,我们用赋值号左边的变量来"接"住InputBox的返回值--就是你输入的内容.在inputbox右边的括号里是参数列表,每个参数用","分隔开,每个参数有不同的功效,比如第一个参数会显示在提示里,我们把msg这个变量作为第一个参数传给了Inputbox函数,而msg="请输入你的名字:",所以我们在对话框的提示栏就会看到"请输入你的名字:"第二个参数是对话框的标题,我们用直接量(学名叫"常量",这里是"字符串常量")传递给函数,当然你也可以传递变量.Inputbox还有很多参数,比如你在"名称"后面再加一个","然后输入随便一串字符(字符串,用双引号""包裹起来的一串字符叫做字符串)然后运行,看看结果.你会发现用于输入的文本框有了默认的值,这就是第三个参数的作用.
Msgbox函数是用来输出的函数,在VBS中没有专门的输出函数(BASIC中的print,C中的printf),所以我们只能用对话框来观察输出结果,Msgbox的必要参数只有一个,就是要输出的内容,在这种情况下,我们不需要理会msgbox的返回值.关于Msgbox和Inputbox我们以后还会在讨论,今天只是热热身,到此为止.
要点:
1)注释(以REM或'开头)行在程序中不起作用,但能让别人更容易读懂你的程序.
2)变量好像一个盒子,或一个代号,可以代表你想代表的东西.变量赋值使用"="
3)以""包裹起来的字符称之为"字符串"
4)函数像一个"黑箱",有参数和返回值,用"="左边的变量可以接住返回值
5)Inputbox函数弹出一个输入对话框,Msgbox则用于输出
作业:
1)试验Inputbox的第三个参数
2)写一段程序输出你的年龄
3)写一段程序进行3次输入,分别输入你和你父母的姓名(要求显示提示),并分3次输出
这是第一节

VB在内部使用最简单、最可能的数据类型保存符号数值,这意味着最通常的数字类型-比如0或者1-都按照Integer类型存储

医院泛水应急预案

  DimExport_Str,mdbTableAsString

  DimrsExportAsNewADODB.Recordset

  DimconnAsNewADODB.Connection

  PrivateSubClose_cmd_Click()

  UnloadMe

  EndSub

  

  PrivateSubEXport_cmd_Click()

  DimmyPath,myStrAsString,myPosAsInteger

  '******************处理选择的各种表的导出

  WithDialog1

  IfmyOption(2).ValueThen

  .FilterIndex=1

  .ShowSave

  myStr=StrReverse(.FileName)'串取反

  myPos=InStr(myStr,"\")'在反字符串中,找从左开始第一个\的位置

  OnErrorGoTomyError'防FILENAME为空,MID出错

  myPath=StrReverse(Mid(myStr,myPos))'取目录部分,并还原.

  myStr=StrReverse(Left(myStr,myPos-1))'取文件名

  Export_Str="select*into[dBaseIII;database="&myPath&"]."&myStr&"fromCustomers"

  .DefaultExt="*.DBF"
  

  ElseIfmyOption(3).ValueThen

  mdbTable=InputBox("请给导出到MDB文件的表确定表名")

  .FilterIndex=2

  .ShowSave

  Export_Str="select*into[;database="&.FileName&"]."&mdbTable&"fromCustomers"

  .DefaultExt="*.MDB" 

  ElseIfmyOption(4).ValueThen

  .FilterIndex=3

  .ShowSave

  Export_Str="select*into[Excel8.0;database="&.FileName&"].CustomersfromCustomers"

  .DefaultExt="*.XLS"  

  ElseIfmyOption(5).ValueThen

  .FilterIndex=4

  .ShowSave

  myStr=StrReverse(.FileName)'串取反

  myPos=InStr(myStr,"\")'在反字符串中,找从左开始第一个\的位置

  OnErrorGoTomyError'防FILENAME为空,MID出错

  myPath=StrReverse(Mid(myStr,myPos))'取目录部分,并还原.

  myStr=StrReverse(Left(myStr,myPos-1))'取文件名

  Export_Str="select*into[Paradox4.X;database="&myPath&"]."&myStr&"fromCustomers"

  .DefaultExt="*.DB"

  EndIf

  EndWith
  

  '*****生成文件

  Debug.PrintExport_Str

  IfrsExport.State=1Then

  rsExport.Close

  EndIf 

  IfDir(Dialog1.FileName)<>""Then

  OnErrorGoTomyError'防用户没选文件

  IfDialog1.FilterIndex<>2Then

  Kill(Dialog1.FileName)

  EndIf

  rsExport.OpenExport_Str,conn,adOpenStatic,adLockOptimistic

  Else

  rsExport.OpenExport_Str,conn,adOpenStatic,adLockOptimistic

  EndIf

  myError:

  ExitSub

  EndSub  

  PrivateSubForm_Load()

  '联接数据库并打开记录集

  conn.CursorLocation=adUseServer

  conn.Open"PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource=" App.Path "\NWind.mdb;"

  rsExport.Open"select*fromCustomers",conn,adOpenStatic,adLockOptimistic

  SetGrid1.DataSource=rsExport

  '初始化对话筐

  WithDialog1

  .Filter="FoxBase/FoxPro(*.DBF) *.DBF Access8.0(*.MDB) *.MDB Excel8.0(*.XLS) *.XLS Paradox4.x(*.DB) *.DB"

  .DialogTitle="导出文件为"

  .CancelError=False

  EndWith

  EndSub

->


'ReturningIPConfigurationData
'WMIscriptthatreturnsconfigurationdatasimilartothatreturnedbyIpConfig.
strComputer="."
SetobjWMIService=GetObject("winmgmts:\"&strComputer&"\root\cimv2")
SetcolAdapters=objWMIService.ExecQuery_
("SELECT*FROMWin32_NetworkAdapterConfigurationWHEREIPEnabled=True")
n=1
WScript.Echo
ForEachobjAdapterincolAdapters
WScript.Echo"NetworkAdapter"&n
WScript.Echo"================="
WScript.Echo"Description:"&objAdapter.Description
WScript.Echo"Physical(MAC)address:"&objAdapter.MACAddress
WScript.Echo"Hostname:"&objAdapter.DNSHostName
IfNotIsNull(objAdapter.IPAddress)Then
Fori=0ToUBound(objAdapter.IPAddress)
WScript.Echo"IPaddress:"&objAdapter.IPAddress(i)
Next
EndIf
IfNotIsNull(objAdapter.IPSubnet)Then
Fori=0ToUBound(objAdapter.IPSubnet)
WScript.Echo"Subnet:"&objAdapter.IPSubnet(i)
Next
EndIf
IfNotIsNull(objAdapter.DefaultIPGateway)Then
Fori=0ToUBound(objAdapter.DefaultIPGateway)
WScript.Echo"Defaultgateway:"&objAdapter.DefaultIPGateway(i)
Next
EndIf
WScript.Echo
WScript.Echo"DNS"
WScript.Echo"---"
WScript.Echo"DNSserversinsearchorder:"
IfNotIsNull(objAdapter.DNSServerSearchOrder)Then
Fori=0ToUBound(objAdapter.DNSServerSearchOrder)
WScript.Echo""&objAdapter.DNSServerSearchOrder(i)
Next
EndIf
WScript.Echo"DNSdomain:"&objAdapter.DNSDomain
IfNotIsNull(objAdapter.DNSDomainSuffixSearchOrder)Then
Fori=0ToUBound(objAdapter.DNSDomainSuffixSearchOrder)
WScript.Echo"DNSsuffixsearchlist:"&objAdapter.DNSDomainSuffixSearchOrder(i)
Next
EndIf
WScript.Echo
WScript.Echo"DHCP"
WScript.Echo"----"
WScript.Echo"DHCPenabled:"&objAdapter.DHCPEnabled
WScript.Echo"DHCPserver:"&objAdapter.DHCPServer
IfNotIsNull(objAdapter.DHCPLeaseObtained)Then
utcLeaseObtained=objAdapter.DHCPLeaseObtained
strLeaseObtained=WMIDateStringToDate(utcLeaseObtained)
Else
strLeaseObtained=""
EndIf
WScript.Echo"DHCPleaseobtained:"&strLeaseObtained
IfNotIsNull(objAdapter.DHCPLeaseExpires)Then
utcLeaseExpires=objAdapter.DHCPLeaseExpires
strLeaseExpires=WMIDateStringToDate(utcLeaseExpires)
Else
strLeaseExpires=""
EndIf
WScript.Echo"DHCPleaseexpires:"&strLeaseExpires
WScript.Echo
WScript.Echo"WINS"
WScript.Echo"----"
WScript.Echo"PrimaryWINSserver:"&objAdapter.WINSPrimaryServer
WScript.Echo"SecondaryWINSserver:"&objAdapter.WINSSecondaryServer
WScript.Echo
n=n+1
Next
FunctionWMIDateStringToDate(utcDate)
WMIDateStringToDate=CDate(Mid(utcDate,5,2)&"/"&_
Mid(utcDate,7,2)&"/"&_
Left(utcDate,4)&""&_
Mid(utcDate,9,2)&":"&_
Mid(utcDate,11,2)&":"&_
Mid(utcDate,13,2))
EndFunction

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