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
(PowerShell) FTP Non-Recursive Sync Directory (Download)See more FTP ExamplesDownload files from the server that have filenames matchhing a pattern, and don't yet exist in a local directory.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $ftp = New-Object Chilkat.Ftp2 $ftp.Hostname = "ftp.example.com" $ftp.Username = "myUsername" $ftp.Password = "myPassword" $ftp.Port = 21 $ftp.AuthTls = $true # Connect and login to the FTP server. $success = $ftp.Connect() if ($success -ne $true) { $($ftp.LastErrorText) exit } # Change to the remote directory where the files are located. # This step is only necessary if the files are not in the root directory # of the FTP account. $success = $ftp.ChangeRemoteDir("qa") if ($success -ne $true) { $($ftp.LastErrorText) exit } # Indicate that we only want to download files with filenames ending in ".txt" $ftp.SyncMustMatch = "*.txt" # Modes for synchronization are as follows: # mode=0: Download all files # mode=1: Download all files that do not exist on the local filesystem. # mode=2: Download newer or non-existant files. # mode=3: Download only newer files. If a file does not already exist on the local filesystem, it is not downloaded from the server. # mode=5: Download only missing files or files with size differences. # mode=6: Same as mode 5, but also download newer files. # mode=99: Do not download files, but instead delete remote files that do not exist locally. $mode = 1 # Download all files matching "*.txt" from the current remote ftp directory. # The files are downloaded into c:/temp/qa_output $success = $ftp.SyncLocalDir("c:/temp/qa_output",$mode) if ($success -ne $true) { $($ftp.LastErrorText) exit } # We can see what files were downloaded in the SyncedFiles property, # which lists the files one per line. $($ftp.SyncedFiles) # Perhaps we wish to delete the files we just downloaded from the server.. $sb = New-Object Chilkat.StringBuilder $sb.Append($ftp.SyncedFiles) $st = New-Object Chilkat.StringTable $st.AppendFromSb($sb) $numFiles = $st.Count $i = 0 while ($i -lt $numFiles) { $remoteFilename = $st.StringAt($i) $("Deleting " + $remoteFilename + " from the FTP server") $success = $ftp.DeleteRemoteFile($remoteFilename) if ($success -ne $true) { $($ftp.LastErrorText) exit } $i = $i + 1 } $success = $ftp.Disconnect() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.