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
Check if FTP Directory Exists
How to test if a directory exists on an FTP server. A good way to check to see if a directory already exists is to try to "cd" to that remote directory by calling ChangeRemoteDir. If it succeeds, then the directory exists. If not, then it does not exist. An alternative method is to set the ListPattern = "*" and then iterate over the files/directories, looking for the directory. Dim ftp As New Chilkat.Ftp2() Dim success As Boolean ' Any string unlocks the component for the 1st 30-days. success = ftp.UnlockComponent("Anything for 30-day trial") If (success <> true) Then MsgBox(ftp.LastErrorText) Exit Sub End If ftp.Hostname = "ftp.chilkatsoft.com" ftp.Username = "***" ftp.Password = "***" ' Connect and login to the FTP server. success = ftp.Connect() If (success <> true) Then MsgBox(ftp.LastErrorText) Exit Sub End If ' Does the "temp" directory exist? Dim dirExists As Boolean dirExists = ftp.ChangeRemoteDir("/temp") If (dirExists = true) Then MsgBox("Yes, the temp directory exists.") ' Yes, it exists. Restore the current remote dir: success = ftp.ChangeRemoteDir("..") If (success <> true) Then MsgBox(ftp.LastErrorText) Exit Sub End If End If ' Alternatively, you may set the ListPattern = "*" and ' look for the directory: ftp.ListPattern = "*" Dim i As Long Dim n As Long n = ftp.NumFilesAndDirs If (n < 0) Then ' Failed to get directory listing based on ListPattern MsgBox(ftp.LastErrorText) Exit Sub End If Dim foundDir As Boolean foundDir = false If (n > 0) Then For i = 0 To n - 1 Dim isDir As Boolean isDir = ftp.GetIsDirectory(i) If (isDir = true) Then Dim fname As String fname = ftp.GetFilename(i) If (fname = "temp") Then MsgBox("Found temp directory!") foundDir = true Exit For End If End If Next End If If (foundDir <> true) Then MsgBox("temp directory not found!") End If ftp.Disconnect() |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.