加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vbscript – VB错误“需要对象”

发布时间:2020-12-17 00:17:26 所属栏目:大数据 来源:网络整理
导读:当我运行以下脚本时,我在第54行(最后一行)收到“需要对象”错误.怎么了? Option ExplicitDim cmdString,g_strHostFile,filepath,flexnetpath,importcmd,dtmToday,dtmYesterday,dtmFileDate,param1,param2,param3,i4path,objFSO,objTextStream,g_strComputer
当我运行以下脚本时,我在第54行(最后一行)收到“需要对象”错误.怎么了?
Option Explicit
Dim cmdString,g_strHostFile,filepath,flexnetpath,importcmd,dtmToday,dtmYesterday,dtmFileDate,param1,param2,param3,i4path,objFSO,objTextStream,g_strComputer,WshShell
'Initialize global constants and variables.
Const FOR_READING = 1
g_strHostFile = "D:dataimportsLUM_servers.txt"
i4path = "C:IFORWINBINi4blt.exe"
filepath = "D:DataImports"
flexnetpath = "C:Program Files (x86)FlexnetManagerAdmin"
importcmd = flexnetpath & "flexnet bulkimport -uadmin -padmin -f" & filepath
dtmToday = Date()
dtmYesterday = Date() - 1
dtmFileDate = Year(Date) & padDate(Month(Date)) & padDate(Day(Date))
param1 = "-r1 -e2,4 -n "
param2 = " -v 'Dassault Systemes' -b "
param3 = " -g "
WScript.Echo "i4Path: " & i4path
WScript.Echo "FilePath: " & filepath
WScript.Echo "flexnetpath: " & flexnetpath
WScript.Echo "importcmd: " & importcmd
WScript.Echo "dtmToday: " & dtmToday
WScript.Echo "dtmYesterday: " & dtmYesterday
WScript.Echo "dtmFileDate: " & dtmFileDate

'Read LUM Server Names from text file.
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(g_strHostFile) Then
  Set objTextStream = objFSO.OpenTextFile(g_strHostFile,FOR_READING)
Else
  WScript.Echo "Input file " & g_strHostFile & " not found."
  WScript.Quit
End If
'Loop through list of computers and perform tasks on each.
Do Until objTextStream.AtEndOfStream
  g_strComputer = objTextStream.ReadLine
WScript.Echo "Processing Server: " & g_strComputer
Set cmdString = i4path & param1 & g_strComputer & param2 & dtmYesterday & param3 & dtmToday & filepath & g_strComputer & "_" & dtmFileDate & "_lum.lrl"
WScript.Echo "Processing Command: " & cmdString
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmdString"
Loop
objTextStream.Close
Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo "Processing Bulk Import: " & importcmd
WshShell.Run "importcmd"

Function padDate(intNumber)
 if intNumber <= 9 Then
  padDate = "0" & CStr(intNumber)
 Else
  padDate = CStr(intNumber)
 End If
End Function
我想有一些问题.
importcmd = flexnetpath & "flexnet bulkimport -uadmin -padmin -f" & filepath

你可能需要一些空格:

importcmd = flexnetpath & " flexnet bulkimport -uadmin -padmin -f " & filepath

Set仅用于对象,而不是字符串,因此应从此行中删除它:

Set cmdString = i4path & param1 & g_strComputer & param2 & dtmYesterday & param3 & dtmToday & filepath & g_strComputer & "_" & dtmFileDate & "_lum.lrl"

我很确定你要么意思

WshShell.Run importcmd

要么

WshShell.Run """" & importcmd & """"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读