[Gambas-user] FTPClient - Operation RENAME
Hans Lehmann
hans at gambas-buch.de
Mon Jan 31 13:54:31 CET 2022
Hello,
I have the following folder structure on my local FTP server (vsFTPd
3.0.3) with the relevant substructure:
/k28
├── k28.1
│ ├── k28.1.1
│ └── k28.1.2
├── k28.2
│ ├── k28.2.1
│ ├── k28.2.2
│ └── k28.2.4
└── k28.3
└── k28.3.1
For renaming the directory k28.2.4 to k28.2.3 I use the following source
code(-section) and the FTPClient:
Public Sub tobtnRenameServerDir_Click()
Dim FRename As New FRename
Dim sOldDirName, sNewDirName, sText, sCommand, sParamOld,
sParamNew, sPath As String
Dim aPaths, aBasis As String[]
Dim i As Integer
'-- If there is no selected element, then cancel ...
If Not trvServerDirectories.Key Then Return
aPaths = Split(trvServerDirectories.Key, "/")
sOldDirName = aPaths.Last
aPaths.Extract(aPaths.Count - 1)
sPath = "/" &/ aPaths.Join("/")
'-- Dialog for entering the new directory name (Form: FTPRename)
sNewDirName = FRename(sOldDirName, ("Rename Server Directory"))
sParamOld = sFTPServerInitialPath &/ trvServerDirectories.Key (=
k28/k28.2/k28.2.4)
sParamNew = sFTPServerInitialPath &/ sPath &/ sNewDirName (=
k28/k28.2/k28.2.3)
Inc Application.Busy
hFTPClient.Async = False
'hFTPClient.Exec(["RNFR " & noSlash(sParamOld), "RNTO " &
noSlash(sParamNew)]) *
hFTPClient.Exec(["RENAME " & noSlash(sParamOld) & " " &
noSlash(sParamNew)]) **
hFTPClient.Async = True
Dec Application.Busy
If hFTPClient.ErrorText Then
Message.Error("The server reports the following error:\n" &
hFTPClient.ErrorText)
Endif
txbServerDir.Text = sPath &/ sNewDirName
GetServerList()
ShowServerDirectories()
ShowServerFiles()
End
Private Function noSlash(sValue As String) As String
Return IIf(sValue = "/", "", IIf(Left(sValue, 1) = "/", Mid(sValue,
2), sValue))
End
Renaming the directory always ends with an error:
*
The server reports the following error:
Access denied to remote resource
But the directory is renamed anyway! Strange!?
**
The server reports the following error:
Quote command returned error
The directory will NOT be renamed!
Where is the error?
With kind regards
Hans
More information about the User
mailing list