Vbscript 下一步在vbs中恢复时出错

Vbscript 下一步在vbs中恢复时出错,vbscript,try-catch,Vbscript,Try Catch,我不想定期将文件上传到samba共享。我的脚本工作得很好,但如果无法访问samba共享(即服务器或网络关闭),它就会崩溃。是否可以静默运行我的vbs脚本(忽略错误) 这是我的一段代码: while True On Error resume next NetworkObject.MapNetworkDrive "", ServerShare, False, UserName, Password Set Directory = FSO.GetFolder(ServerShare) WScr

我不想定期将文件上传到samba共享。我的脚本工作得很好,但如果无法访问samba共享(即服务器或网络关闭),它就会崩溃。是否可以静默运行我的vbs脚本(忽略错误)

这是我的一段代码:

while True
On Error resume next
  NetworkObject.MapNetworkDrive "", ServerShare, False, UserName, Password
  Set Directory = FSO.GetFolder(ServerShare)

WScript.Sleep 2000

  folderName =  "\\10.10.10.10\smb\" & strComputerName

  If Not FSO.FolderExists(folderName) Then
    FSO.CreateFolder folderName
  End If

  folderName =  "\\10.10.10.10\smb\" & strComputerName & "\" & Year(now)
  If Not FSO.FolderExists(folderName) Then
    FSO.CreateFolder folderName
  End If

  folderName =  "\\10.10.10.10\smb\" & strComputerName & "\" & Year(now) & "\" &  Month(now)
  If Not FSO.FolderExists(folderName) Then
    FSO.CreateFolder folderName
  End If

  folderName =  "\\10.10.10.10\smb\" & strComputerName & "\" & Year(now) & "\" &  Month(now) & "\" & Day(now)
  If Not FSO.FolderExists(folderName) Then
    FSO.CreateFolder folderName
  End If

  DestinationFile = folderName & "\" & hour(now) & "_" & minute(now) & "_" &second(now) &  ".png"
  fso.CopyFile SourceFile & "\1.tmp", DestinationFile

WScript.Sleep 2000

fso.DeleteFile(SourceFile & "\1.tmp")

WScript.Sleep 2000
wend

我试图使用“On Error resume next”语句,但它还是崩溃了。

我不认为使用
On Error resume next
语句是最好的选择,我认为这是一种糟糕的编码实践。我会考虑这样做,这将改进编码和停止重复代码。

NetworkObject.MapNetworkDrive "", ServerShare, False, UserName, Password
Set Directory = FSO.GetFolder(ServerShare)

WScript.Sleep 2000

folderName =  "\\10.10.10.10\smb\" & strComputerName
Call Check_Folder(folderName)

folderName =  "\\10.10.10.10\smb\" & strComputerName & "\" & Year(now)
Call Check_Folder(folderName)

'add in the rest of the foldernames and call check_folder lines

DestinationFile = folderName & "\" & hour(now) & "_" & minute(now) & "_" &second(now) &  ".png"
  fso.CopyFile SourceFile & "\1.tmp", DestinationFile

WScript.Sleep 2000

fso.DeleteFile(SourceFile & "\1.tmp")

WScript.Sleep 2000



'Sub to increase code reuse
Sub Check_Folder(folderName)

'Begin error checking
On error resume next
If Not FSO.FolderExists(folderName) Then
    FSO.CreateFolder folderName
End If

If err.number <> 0 Then
   'There is an error here, do something or nothing
End If

'Clear error
On error go to 0

End Sub
NetworkObject.MapNetworkDrive“”,服务器共享,False,用户名,密码
Set Directory=FSO.GetFolder(ServerShare)
WScript.Sleep 2000
folderName=“\\10.10.10.10\smb\”&strComputerName
调用检查文件夹(folderName)
folderName=“\\10.10.10.10\smb\”&strComputerName&“\”&Year(现在)
调用检查文件夹(folderName)
'添加其余文件夹名并调用check_文件夹行
DestinationFile=folderName&“\”小时(现在)&“\”分钟(现在)&“\”秒(现在)&“.png”
fso.CopyFile源文件&“\1.tmp”,目标文件
WScript.Sleep 2000
fso.DeleteFile(SourceFile&“\1.tmp”)
WScript.Sleep 2000
'Sub以增加代码重用
子检查文件夹(文件夹名称)
'开始错误检查
出错时继续下一步
如果不是FSO.FolderExists(folderName),则
FSO.createFolderFolderName
如果结束
如果错误号为0,则
“这里有个错误,要么做点什么,要么什么都不做
如果结束
“明显的错误
出现错误时转到0
端接头