WSF VBS 脚本编写

来源:互联网 发布:查看外网端口是否禁用 编辑:程序博客网 时间:2024/06/02 23:12

WSH – Windows Script Host (Windows脚本宿主) 是一个基于COM的脚本宿,它可以在Windows中执行脚本。它同时支持JscriptVBScript.

.WSC - windows 脚本组件。例如VBS本身没有提供访问文件系统的方法,但是可以使用Scripting.FileSystemObject  COM组件来打开文件。 WSC文件是一个XML格式的文本文件,它提供一系列的元素的属性来定义一个对象的接口(例如用于脚本调用的属性和方法),同时它本身也是用脚本语言实现。WSC文件有自己的XML元素列表:

<component>元素封装一个脚本组件的整个定义。其他属性如:description =”description”, progid=”progid”, classid=”GUID”, version=”vesrion”

 

.WSF – Windows脚本文件采用XML文件。他能包含独立代码,不像独立脚本,wsf脚本可以包含其他文件的VBSJS代码。

Sample:读取一个文件,替换里边的内容然后在写回去

<job id="main">

<scriptlanguage="VBScript"

SetFSO=CreateObject("scripting.filesystemobject")

Set objFile=FSO.OpenTextFile("D:\package\Builds\ePrint\Win32\Release\hpbje1101.inf",1,false)

objContents = objFile.ReadAll

BeginStr =InStr(1,objContents,"DriverVer = ")

EndStr =InStr(BeginStr,objContents,"CatalogFile")

DriverRevision =Mid(objContents,BeginStr+30,EndStr-BeginStr-32)

objFile.Close

SetobjFile=FSO.OpenTextFile("D:\automation\ComponentTests\PrintDriver\ePrint\1.0\config\FileVersionsConfigePrint.tcc",1,false,-1)

objContentsConfigTCC =Replace(objFile.ReadAll,"DriverRevisonFromVBs",DriverRevision)

objFile.Close

SetobjFile=FSO.OpenTextFile("D:\automation\ComponentTests\PrintDriver\ePrint\1.0\config\FileVersionsConfigePrint.tcc",2,false,-1)

objFile.Write objContentsConfigTCC1

objFile.Close

                </script>

</job>

 

.VBS 普通的VBS脚本

Sameple1:读取一个文件里面的内容,让后返回给cmd脚本

.vbs 文件中的内容

dim return

SetFSO=CreateObject("scripting.filesystemobject")

SetobjFile=FSO.OpenTextFile("D:\package\spo\UPD\pcl6\win_xp_vista\hpcu118c.inf",1,false)

objContents = objFile.ReadAll

BeginStr =InStr(1,objContents,"DriverVer=")

EndStr =InStr(BeginStr,objContents,"DriverIsolation")

DriverRevision =Mid(objContents,BeginStr+31,EndStr-BeginStr-33)

objFile.Close

return = DriverRevision

wscript.echo return

 

.cmd 文件中的内容

for /f "tokens=*" %%iin ('cscript /nologo"D:\automation\ComponentTests\PrintDriver\Evo\config\GetEvoDriverRevision.vbs"')do (

Set Revision=%%i)

 

Sample2:获取一个路径下的所有文件列表

Set fso =CreateObject("Scripting.FileSystemObject")

Set f = fso.GetFolder("c:/")   

Set fs = f.Files

i = 0  

For Each f1 in fs

fn = f1.name        

i=i+1

msgbox fn

Next

原创粉丝点击