public class FileAttributesComparer : FileComparer
Shows how to use FileComparers.FileAttributesComparer for synchronizing a local folder with a folder in an archive.
using ComponentPro.IO; using ComponentPro.Net; ... // Create a new class instance. Ftp client = new Ftp(); // Connect to the FTP server. client.Connect("myserver"); // Authenticate. client.Authenticate("userName", "password"); // Create a new instance of the MirrorOptions class. QuickSyncOptions opt = new QuickSyncOptions(); // Set synchronization's settings // Synchronize files with different attributes. // Files with the same names and attributes will not be synchronized. opt.Comparer = FileComparers.FileAttributesComparer; opt.Recursive = true; // Synchronize folders. client.QuickSynchronize( "", // Source directory path within the archive. "" indicates the current directory within the archive. "c:\\test", // Destination directory path. true, // Source directory is master. It means "c:\test" will be identical to the directory within the archive. opt ); // That comparer can also be used in Upload and Download operations. TransferOptions transferOptions = new TransferOptions(); // Files with the same names and attributes will not be downloaded. transferOptions.Comparer = FileComparers.FileAttributesComparer; transferOptions.FileOverwriteMode = FileOverwriteMode.CustomCompare; // Download .txt files from the current remote directory. Only files with different attributes will be downloaded. client.Download("*.txt", "C:\\temp", transferOptions); // Close the connection. client.Disconnect();
Shows how to use FileComparers.FileAttributesComparer for synchronizing a local folder with a folder in an archive.
using ComponentPro.IO; using ComponentPro.Net; ... // Create a new class instance. Sftp client = new Sftp(); // Connect to the SFTP server. client.Connect("myserver"); // Authenticate. client.Authenticate("userName", "password"); // Create a new instance of the MirrorOptions class. QuickSyncOptions opt = new QuickSyncOptions(); // Set synchronization's settings // Synchronize files with different attributes. // Files with the same names and attributes will not be synchronized. opt.Comparer = FileComparers.FileAttributesComparer; opt.Recursive = true; // Synchronize folders. client.QuickSynchronize( "", // Source directory path within the archive. "" indicates the current directory within the archive. "c:\\test", // Destination directory path. true, // Source directory is master. It means "c:\test" will be identical to the directory within the archive. opt ); // That comparer can also be used in Upload and Download operations. TransferOptions transferOptions = new TransferOptions(); // Files with the same names and attributes will not be downloaded. transferOptions.Comparer = FileComparers.FileAttributesComparer; transferOptions.FileOverwriteMode = FileOverwriteMode.CustomCompare; // Download .txt files from the current remote directory. Only files with different attributes will be downloaded. client.Download("*.txt", "C:\\temp", transferOptions); // Close the connection. client.Disconnect();
Shows how to use FileSystem.FileAttributesComparer for synchronizing a local folder with a folder in an archive.
using ComponentPro.Compression; using ComponentPro.IO; ... // Create a new instance. Zip zip = new Zip(); // Open an existing archive. zip.Open("test.zip"); // Create a new instance of the QuickSyncOptions class. QuickSyncOptions opt = new QuickSyncOptions(); // Set synchronization's settings // Synchronize files with different attributes. // Files with the same names and attributes will not be synchronized. opt.Comparer = FileComparers.FileAttributesComparer; opt.Recursive = true; // Synchronize folders. zip.QuickSynchronize( "", // Source directory path within the archive. "" indicates the current directory within the archive. "c:\\test", // Destination directory path. true, // Source directory is master. It means "c:\test" will be identical to the directory within the archive. opt ); // Close the zip file. zip.Close();