• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    SCADA DIAView VBS 實現 FTP 上傳與下載

    軟件:SCADA DIAview硬件:電腦劇本說話:VBScript

    方式/步調

    1. 1

      搭建局域網或本機的FTP 辦事器 Win10

      a) 進入節制面板==>程序和功能【圖1】

      b)? 選擇“啟用或封閉Windows功能”==>對“Internet Information Services ” 下面臨應的選項大打√==>點擊“確定”安裝當作功==>重啟電腦,然后進行 c 步調。【圖2】

      c)? 我的電腦==>右擊選擇“辦理”【圖3】

      d)? 網站==>右擊添加“FTP站點”【圖4】【圖5】

      e) 點擊下一步,進入 FTP 綁心猿意馬IP 和端標語==》點擊下一步,進入“身份證和授權信息”==》點擊完當作,進入 f 步調【圖6】【圖7】

      f) 進行拜候 ftp 辦事地址 ,在瀏覽器網址中輸入ftp地點辦事器的地址如:“ftp://192.168.1.65”,進入登錄界面。輸入辦事器的登錄賬號和暗碼即可。【圖8】【圖9】

      adaf2edda3cc7cd96c008b183701213fb90e91c6.jpg00e93901213fb80e9dfcde1638d12f2eb83894c6.jpg77094b36acaf2edd7cdcf628831001e9380193c6.jpgaa18972bd40735faac41f17890510fb30e2408b9.jpg34fae6cd7b899e51423f85d54ca7d933c9950db9.jpg3bf33a87e950352a011f9ac95d43fbf2b3118bf1.jpg55e736d12f2eb9387040c533db628535e4dd6fc6.jpg0eb30f2442a7d93399195bb2a34bd11372f001b9.jpg43a7d933c895d143fec75be27df082025baf07b9.jpg
    2. 2

      建立組態DIAView工程來實現FTP的上傳于下載

    3. 3

      建立窗口如下:

      9922720e0cf3d7cad25c80b7fc1fbe096a63a94d.jpg
    4. 4

      按鈕“上傳”==>事務“左鍵按下”

      'FTP IP地址如:192.168.1.65 或 ftp.wwww.baidu.com
      FTP_HOST=Trim(txtftpip.Text)
      'FTP 登錄用戶名
      FTP_USER=Trim(txtftpuser.Text)
      'FTP 登錄用戶暗碼
      FTP_PWD=Trim(txtftppwd.Text)
      '被上傳的文件目次
      LOCAL_FOLDER =Trim(txtlocalpath.Text)
      '被上傳的文件名稱 多個用英文逗號離隔;*好暗示全數文件
      strFileName =Trim(txtlocalfile.Text)
      strFTPFolder=Trim(txtftpfolder.Text)
      'strNewFileName=Sys.Year&Sys.Month&Sys.Day&Sys.Hour&Sys.Minute&Sys.Second&Sys.Millisecond
      ?
      'Application
      Set objShell = Createobject("Shell.Application")
      'FileSystemobject
      Set objFs = Createobject("Scripting.FileSystemobject")
      ?
      strFtpUrl = "ftp://" & FTP_USER & ":" & FTP_PWD & "@" & FTP_HOST & "/" & strFTPFolder
      Set obj2=objShell.NameSpace(LOCAL_FOLDER)
      Set objFolderItems = obj2.Items()
      ?
      For i = 0 To objFolderItems.Count - 1
      ??? Set ofitem = objFolderItems.Item(i)
      ??? 'filePath=ofitem.path
      ??? 'filePathArray=Split(filePath,".",-1,1)
      ??? 'fileExt=filePathArray(UBound(filePathArray))
      ??? 'strFtpUrl=strFtpUrl&"/"&strNewFileName&"."&fileExt
      ??? '暗示上傳全數
      ??? If strFileName="*" then
      ??????? Set FD = objShell.NameSpace(strFtpUrl)
      ??????? FD.CopyHere ofitem,4096 '若是存在并籠蓋
      ??? End If
      ??? If strFileName<>"*"? And? strFileName = ofitem.Name Then
      ??????? 'strFtpUrl=strFtpUrl&strNewFileName&
      ??????? Set FD = objShell.NameSpace(strFtpUrl)
      ??????? FD.CopyHere ofitem,4096 '若是存在并籠蓋
      ??? End If
      ?? ?
      Next
      ?
      MsgBox "上傳當作功!"

    5. 5

      按鈕“下載”==>事務“左鍵按下”

      'FTP IP地址如:192.168.1.65 或 ftp.wwww.baidu.com
      str_server=Trim(txtftpip.Text)
      'FTP 登錄用戶名
      str_user=Trim(txtftpuser.Text)
      'FTP 登錄用戶暗碼
      str_password=Trim(txtftppwd.Text)
      '被上傳的文件目次
      str_localDir =Trim(txtlocalpath0.Text)
      '被上傳的文件名稱 多個用英文逗號離隔;*好暗示全數文件
      str_remoteFiles =Trim(txtlocalfile0.Text)
      'FTP下載目次
      str_remoteDir="\"&Trim(txtftpfolder0.Text)
      ?
      ftp_configFile = "listfiles.ini"
      Set ws = CreateObject("WScript.Shell")
      Set fs = CreateObject("Scripting.FileSystemObject")
      ?
      '處置路徑中的空格
      str_remoteDir = Trim(str_remoteDir)
      If InStr(str_remoteDir," ")>0 Then
      ??? If Left(str_remoteDir,1)<> """" And Right(str_remoteDir,1) <> """" Then
      ??????? str_remoteDir = """" &str_remoteDir& """"
      ??? End If
      End If
      ?
      '設置工作路徑
      originalWorkingDirectory = ws.CurrentDirectory
      ws.CurrentDirectory = str_localDir
      ?
      '生當作ftp號令
      ftpScript_str = ""
      ftpScript_str = ftpScript_str & "USER " & str_user & vbCrLf
      ftpScript_str = ftpScript_str & str_password & vbCrLf
      ftpScript_str = ftpScript_str & "cd " & str_remoteDir & vbCrLf
      ftpScript_str = ftpScript_str & "binary" & vbCrLf
      ftpScript_str = ftpScript_str & "prompt off" & vbCrLf
      ?
      remoteFiles_obj = Split(str_remoteFiles,",")?? ?
      For Each remoteFile_str In remoteFiles_obj
      ??? 'remoteFile_str = Left(remoteFile_str,Len(remoteFile_str)-1)??? '去除回車符(為什么會有換行符?)
      ??? If InStr(remoteFile_str, " ")>0 Then
      ??????? remoteFile_str = """" & remoteFile_str & """"
      ??? End If
      ??? ftpScript_str = ftpScript_str & "get " & remoteFile_str & vbCrLf?? ?
      Next
      ?
      ftpScript_str = ftpScript_str & "bye" & vbCrLf & "quit" & vbCrLf & "quit" & vbCrLf
      ?
      '建立姑且文件
      tempDir_str = ws.ExpandEnvironmentStrings("%TEMP%")
      scriptFilePath_str = tempDir_str& "\" &fs.GetTempName
      ftpResultPath_str = tempDir_str& "\" &fs.GetTempName
      ?
      '姑且ftp劇本文件
      Set scriptFile_obj = fs.OpenTextFile(scriptFilePath_str,2,True)
      scriptFile_obj.Write(ftpScript_str)
      scriptFile_obj.Close
      ?
      '執行ftp劇本
      'logFileObject.WriteLine Time & "? Downloading files from ftp..."
      ws.Run "%comspec% /c FTP -n -s:" &""""&scriptFilePath_str&""""& " " &str_server& " > " &ftpResultPath_str,0,True
      'WScript.Sleep 1000
      ?
      '姑且ftp成果文件
      Set resultFile_obj = fs.OpenTextFile(ftpResultPath_str,1)
      successDownloadCount_int = 0
      failToDownloadCount_int = 0
      'WScript.Echo scriptFilePath_str & "? " &ftpResultPath_str
      'WScript.Echo ftpScript_str
      ?
      Do Until resultFile_obj.AtEndOfStream
      currLine_str = resultFile_obj.ReadLine
      'WScript.Echo currLine_str
      ?
      '?????? If InStr(currLine_str,"get ")>0 And InStr(currLine_str,"forme")>0 Then
      If InStr(currLine_str,"get ")>0 Then
      ??? currLine_str = Right(currLine_str,Len(currLine_str)-(InStr(currLine_str,"get ")+3))
      ??? nextLine_str = resultFile_obj.ReadLine
      ??? nextLine_str = resultFile_obj.ReadLine
      ??? nextLine_str = resultFile_obj.ReadLine
      ?? ?
      ??? If InStr(nextLine_str,"226 Transfer complete")>0 Then
      ??????? successDownloadCount_int = successDownloadCount_int + 1
      ??????? 'logFileObject.WriteLine Time & "? Finish downloading file(" &currLine_str& ")"
      ??? Else
      ??????? failToDownloadCount_int = failToDownloadCount_int + 1
      ??????? 'logFileObject.WriteLine Time & "? Error:Fail to download file(" &currLine_str& ")"
      ??? End If
      End If
      Loop
      resultFile_obj.Close
      ?
      'logFileObject.WriteLine Time & "? Complete(" &successDownloadCount_int& ")??? Failed(" &failToDownloadCount_int& ")"
      'logFileObject.WriteBlankLines 1
      ?
      MsgBox "下載完當作!"

    • 發表于 2019-08-29 20:51
    • 閱讀 ( 862 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆