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
(DataFlex) Delete Local Files that Do Not Exist on the FTP ServerDemonstrates how to get a list of local files in a directory tree that do not exist on the FTP server.
Use ChilkatAx-win32.pkg Procedure Test Handle hoFtp Boolean iSuccess Integer iMode Boolean iDescendTree Boolean iPreviewOnly Handle hoSa Handle hoFac Integer iNumFiles Integer i String sLocalFilePath String sTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatFtp2)) To hoFtp If (Not(IsComObjectCreated(hoFtp))) Begin Send CreateComObject of hoFtp End Set ComHostname Of hoFtp To "ftp.example.com" Set ComUsername Of hoFtp To "login" Set ComPassword Of hoFtp To "password" Set ComKeepSessionLog Of hoFtp To True // Connect and login to the FTP server. Get ComConnect Of hoFtp To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoFtp To sTemp1 Showln sTemp1 Procedure_Return End // Set the current remote directory to the root of // the remote tree to be compared. Get ComChangeRemoteDir Of hoFtp "abc123" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoFtp To sTemp1 Showln sTemp1 Procedure_Return End // Recursively descend the local directory tree // and find the files that exist locally but not remotely. // These are the files what would be uploaded via // the SyncRemoteTree method call with mode = 1. // (Mode 1 would upload all files that do not exist on the FTP server.) // The actual uploading is avoided by setting the preview-only argument to True. Move 1 To iMode Move True To iDescendTree Move True To iPreviewOnly Get ComSyncRemoteTree2 Of hoFtp "/temp/abc123" iMode iDescendTree iPreviewOnly To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoFtp To sTemp1 Showln sTemp1 Procedure_Return End // The files what would've been uploaded are now available in the SyncPreview property, // which contains a list of local file paths, one per line. // A program can iterate over them like this: Get Create (RefClass(cComCkStringArray)) To hoSa If (Not(IsComObjectCreated(hoSa))) Begin Send CreateComObject of hoSa End Get ComSyncPreview Of hoFtp To sTemp1 Send ComLoadFromText To hoSa sTemp1 Get Create (RefClass(cComCkFileAccess)) To hoFac If (Not(IsComObjectCreated(hoFac))) Begin Send CreateComObject of hoFac End Get ComCount Of hoSa To iNumFiles Move 0 To i While (i < iNumFiles) Get ComGetString Of hoSa i To sLocalFilePath Showln sLocalFilePath // An application can delete the file using Chilkat's file access object, // or it can choose to use the native file API available in the programming language: Get ComFileDelete Of hoFac sLocalFilePath To iSuccess If (iSuccess <> True) Begin Showln "Failed to delete: " sLocalFilePath End Move (i + 1) To i Loop Get ComDisconnect Of hoFtp To iSuccess End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.