Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Download and Delete Matching FilesC example showing how to FTP download files matching a wildcarded file pattern and delete them from the FTP server. Downloads: MS Windows Visual C/C++ Libraries Linux/CentOS C/C++ Libraries MAC OS X C/C++ Libraries Solaris C/C++ Libraries C++ Builder Libraries #include <C_CkFtp2.h> void ChilkatSample(void) { HCkFtp2 ftp; BOOL success; long i; const char * fname; long n; ftp = CkFtp2_Create(); // Any string unlocks the component for the 1st 30-days. success = CkFtp2_UnlockComponent(ftp,"Anything for 30-day trial"); if (success != TRUE) { printf("%s\n",CkFtp2_lastErrorText(ftp)); return; } CkFtp2_putHostname(ftp,"www.example-code.com"); CkFtp2_putUsername(ftp,"****"); CkFtp2_putPassword(ftp,"****"); // Connect and login to the FTP server. success = CkFtp2_Connect(ftp); if (success != TRUE) { printf("%s\n",CkFtp2_lastErrorText(ftp)); return; } // Note: It may be tempting to call MGetFiles(pattern,localDir) // followed by a call to DeleteMatching(pattern), however, // if new files are uploaded to the FTP server while MGetFiles // is running, those files will be deleted by DeleteMatching. // Instead, it's best to set the ListPattern and then iterate // over each file... // Set the ListPattern = "*.xml" to match all XML files. CkFtp2_putListPattern(ftp,"*.xml"); // NumFilesAndDirs contains the number of files and sub-directories // matching the ListPattern in the current remote directory. // The first time it is accessed after changing ListPattern, // or after calling ChangeRemoteDir, a snapshot of the directory // listing is fetched and saved in memory. During this loop, // the value of NumFilesAndDirs will not change. n = CkFtp2_getNumFilesAndDirs(ftp); if (n < 0) { printf("%s\n",CkFtp2_lastErrorText(ftp)); return; } if (n > 0) { for (i = 0; i <= n - 1; i++) { fname = CkFtp2_getFilename(ftp,i); printf("%s\n",fname); // Download the file into the current working directory. success = CkFtp2_GetFile(ftp,fname,fname); if (success != TRUE) { printf("%s\n",CkFtp2_lastErrorText(ftp)); return; } // Now delete the file. success = CkFtp2_DeleteRemoteFile(ftp,fname); if (success != TRUE) { printf("%s\n",CkFtp2_lastErrorText(ftp)); return; } } } CkFtp2_Disconnect(ftp); CkFtp2_Dispose(ftp); } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.