2015-05-19 359 views
-4

我正在使用名爲SecureFtpCnnection的第三方dll,但沒有任何方法來重命名文件夾或將一個文件夾複製到另一個文件夾文件夾,你能幫我解決這個問題嗎?使用c#重命名FTP文件夾名稱(或將ftp文件夾移動到具有不同名稱的同一目錄)

DLL referene在這裏https://enterprisedt.com/products/edtftpnetpro/doc/manual/api/html/Methods_T_EnterpriseDT_Net_Ftp_SecureFTPConnection.htm

感謝

+0

咳咳,選擇另一個庫可以有很大的幫助。 – Steve

+0

我一定會使用該DLL。我曾嘗試從互聯網上的許多選項,如FtpWebRequest類,但沒有太大的幫助:( – Mayank

+0

至少試圖告訴我們你使用的是什麼FTP產品。我找不到任何參考此dll – Steve

回答

0

SecureFTPConnection的基類,ExFTPConnection似乎有一種方法 「RenameFile」 評論爲 「重命名文件或目錄」。我無法檢查這是否是你必須提供的相對或絕對路徑,但我想它是相對的。因此,改變目錄的父目錄和

conn.RenameFile("oldDir", "newDir"); 

https://enterprisedt.com/products/edtftpnetpro/doc/manual/api/html/M_EnterpriseDT_Net_Ftp_ExFTPConnection_RenameFile.htm

+0

哦,非常感謝:)。但如果同名文件夾已經存在,那麼它會覆蓋該文件夾? – Mayank

+0

我無法從頭頂回答,抱歉。但我明天可以檢查。或者你可以自己做一些測試。最安全的方法是通過https://enterprisedt.com/products/edtftpnetpro/doc/manual/api/html/M_EnterpriseDT_Net_Ftp_ExFTPConnection_DirectoryExists.htm檢查目標目錄是否存在,如果它返回false然後重命名,否則選擇一個新名稱... –

+0

嗨,所以我仔細看了一下你的庫,看起來如果你重命名並且目標文件夾已經存在,它會嘗試完成操作。我想這取決於ftp服務器的實現。我試着用我們的cerberus實例,如果newDir已經存在,它將目標文件夾「newDir」的源文件夾「oldDir」INSIDE(所以然後有一個路徑./newDir/oldDir)。因此,只需堅持在重命名之前先檢查您的新目錄名是否存在,以防止不需要的行爲。 –

相關問題