到目前为止,最简单的方法是将“library.vbs”包含到“test.vbs”文件中。
例如:
库.vbs:
Function ProgramFiles()
ProgramFiles = "C:\Foo"
End Function
test.vbs:
sub includeFile (fSpec)
dim fileSys, file, fileData
set fileSys = createObject ("Scripting.FileSystemObject")
set file = fileSys.openTextFile (fSpec)
fileData = file.readAll ()
file.close
executeGlobal fileData
set file = nothing
set fileSys = nothing
end sub
includeFile "library3.vbs"
wscript.echo ProgramFiles
您的问题似乎表明您可能已经这样做了,如果您这样做了,我深表歉意。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=
如果明文确实让您感到困扰,那么从我所看到的情况来看,没有办法使 ScryptCryptor 的可执行文件可用于您的 vbscript。
相反,您可以创建一个 COM 库 DLL 用作 test.vbs 文件中的对象。
这样做的缺点是需要学习一门新语言。 Visual Studio Visual Basic 肯定不同于 Windows Shell Script Visual Basic,但它可以满足您的需求。
采取的步骤:
- 下载适用于 Windows 桌面的 Visual Studio 2013 Express(或 Ultimate 试用版或任何您认为适合您的版本)
- 以管理员身份打开 Visual Studio
- 创建一个新项目。在“Visual Basic”模板下选择一个“类库”
-
复制粘贴下面的代码
<ComClass(OurLibrary.ClassId, OurLibrary.InterfaceId, OurLibrary.EventsId)>
Public Class OurLibrary
Private userNameValue As String
Public Const ClassId As String = "40491A82-D53A-46A6-B7E0-1CDF78A33AB6"
Public Const InterfaceId As String = "B49C996C-B039-471D-BF17-0DDA5B3CF517"
Public Const EventsId As String = "6245E3DD-DEB5-4B75-AC03-F4430BC18FDE"
Public Sub New()
MyBase.New()
End Sub
Public Sub mycopy(mySource As String, myDest As String)
My.Computer.FileSystem.CopyFile(mySource, myDest, True)
End Sub
End Class
点击项目 -> ClassLibrary1 属性
- 单击“编译”并选中“注册 COM 互操作”复选框
- 点击构建 -> 构建解决方案
您现在有了一个 test.vbs 可以使用的库:
Set myLib = CreateObject("ClassLibrary1.OurLibrary")
mySource = "C:\mytextfile1.txt"
myDest = "C:\mytextfile2.txt"
myLib.mycopy mySource, myDest
如果你喜欢我 test.vbs 需要被称为C:\Windows\SysWOW64\cscript.exe test.vbs
有关在 Visual Basic 中创建 COM 类的更多信息,请参见此处:Walkthrough: Creating COM Objects with Visual Basic