Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(VBScript) Get FTP Directory Listing as XMLDemonstrates how to call GetXmlDirListing and parse the results.
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") 'Create a Unicode (utf-16) output text file. Set outFile = fso.CreateTextFile("output.txt", True, True) ' This example assumes Chilkat Ftp2 to have been previously unlocked. ' See Unlock Ftp2 for sample code. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Ftp2") set ftp = CreateObject("Chilkat.Ftp2") ftp.Hostname = "www.my-ftp-server.com" ftp.Username = "mFtpLogin" ftp.Password = "myFtpPassword" ' Connect to the FTP server. success = ftp.ConnectOnly() If (success <> 1) Then outFile.WriteLine(ftp.LastErrorText) WScript.Quit End If ' Authenticate with the FTP server. success = ftp.LoginAfterConnectOnly() If (success <> 1) Then outFile.WriteLine(ftp.LastErrorText) WScript.Quit End If ' Retrieve (in XML format) the HOME directory of this FTP account. xmlListing = ftp.GetXmlDirListing("*.*") If (ftp.LastMethodSuccess <> 1) Then outFile.WriteLine(ftp.LastErrorText) WScript.Quit End If ' Now load the XML and parse it.. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Xml") set xml = CreateObject("Chilkat.Xml") success = xml.LoadXml(xmlListing) outFile.WriteLine(xml.GetXml()) ' Iterate over the XML... i = 0 numEntries = xml.NumChildren Do While i < numEntries ' xEntry is a Chilkat.Xml Set xEntry = xml.GetChild(i) If (xEntry.TagEquals("dir") = 1) Then outFile.WriteLine("Directory: " & xEntry.Content) Else sz = xEntry.GetChildIntValue("size") outFile.WriteLine("File: " & xEntry.GetChildContent("name") & ", size: " & sz) ' xLastMod is a Chilkat.Xml Set xLastMod = xEntry.FindChild("lastModTime") If (xEntry.LastMethodSuccess = 1) Then month = xLastMod.GetAttrValueInt("m") year = xLastMod.GetAttrValueInt("y") day = xLastMod.GetAttrValueInt("d") outFile.WriteLine(" YYYY-MM-DD: " & year & "-" & month & "-" & day) End If End If i = i + 1 Loop success = ftp.Disconnect() outFile.WriteLine("Success.") ' Sample XML directory listing: ' <?xml version="1.0" encoding="utf-8" ?> ' <remoteDir> ' <dir>Desktop</dir> ' <dir>Documents</dir> ' <dir>Downloads</dir> ' <dir>Music</dir> ' <dir>Pictures</dir> ' <dir>Public</dir> ' <dir>Templates</dir> ' <dir>Videos</dir> ' <file> ' <name>c.py</name> ' <size>1244</size> ' <lastModTime full="20151009-000000" y="2015" d="9" m="10" hh="0" mm="0" ss="0" /> ' </file> ' <file> ' <name>cacerts_linux</name> ' <size>177207</size> ' <lastModTime full="20140915-000000" y="2014" d="15" m="9" hh="0" mm="0" ss="0" /> ' </file> ' <file> ' <name>empty.txt</name> ' <size>0</size> ' <lastModTime full="20150917-000000" y="2015" d="17" m="9" hh="0" mm="0" ss="0" /> ' </file> ' <file> ' <name>hamlet.xml</name> ' <size>279658</size> ' <lastModTime full="20160917-084100" y="2016" d="17" m="9" hh="8" mm="41" ss="0" /> ' </file> ' </remoteDir> ' ' outFile.Close |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.