Sample code for 30+ languages & platforms
AutoIt

Get FTP File Permissions

See more FTP Examples

_LANGUAGE_ example showing how to retrieve file permissions (via FTP) for each file in a remote directory.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oFtp = ObjCreate("Chilkat.Ftp2")

; Set the various properties to establish the connection.
$oFtp.Hostname = "ftp.example.com"
$oFtp.Username = "login"
$oFtp.Password = "password"

; If SSL/TLS is required..
; See http://www.cknotes.com/determining-ftp2-connection-settings/ 
; for more information.
$oFtp.AuthTls = True
$oFtp.PassiveUseHostAddr = True

; Connect to the FTP server:
$bSuccess = $oFtp.ConnectOnly()
If ($bSuccess <> True) Then
    ConsoleWrite($oFtp.LastErrorText & @CRLF)
    Exit
EndIf

; Authenticate with the FTP server.
$bSuccess = $oFtp.LoginAfterConnectOnly()
If ($bSuccess <> True) Then
    ConsoleWrite($oFtp.LastErrorText & @CRLF)
    Exit
EndIf

; To get file permissions in UNIX format, disallow MSLD:
$oFtp.AllowMlsd = False

; To get file and sub-directory information, simply
; loop from 0 to ftp.GetDirCount() - 1
Local $i = 0
Local $iN = $oFtp.GetDirCount()
If ($iN < 0) Then
    ConsoleWrite($oFtp.LastErrorText & @CRLF)
    Exit
EndIf

; Show the type of permissions information that is available.
; The two most common types are "mlsd" and "unix".  See the
; online reference documentation for more information.
If ($iN > 0) Then
    ConsoleWrite("The permissions format is: " & $oFtp.GetPermType(0) & @CRLF)
EndIf

While $i < $iN

    ; Display the permissions and filename
    ConsoleWrite($oFtp.GetPermissions($i) & " " & $oFtp.GetFilename($i) & @CRLF)

    $i = $i + 1
Wend

; Assuming MLSD was possible, let's see the file permissions in MLSD format:
$oFtp.AllowMlsd = True

; Clear the directory cache so we're forced to re-fetch the directory listing:
$oFtp.ClearDirCache 

$iN = $oFtp.GetDirCount()
If ($iN < 0) Then
    ConsoleWrite($oFtp.LastErrorText & @CRLF)
    Exit
EndIf

; Show the type of permissions information that is available.
; The two most common types are "mlsd" and "unix".  See the
; online reference documentation for more information.
If ($iN > 0) Then
    ConsoleWrite("----" & @CRLF)
    ConsoleWrite("The permissions format is: " & $oFtp.GetPermType(0) & @CRLF)
EndIf

$i = 0
While $i < $iN

    ; Display the permissions and filename
    ConsoleWrite($oFtp.GetPermissions($i) & " " & $oFtp.GetFilename($i) & @CRLF)

    $i = $i + 1
Wend

$bSuccess = $oFtp.Disconnect()