
我想知道是否使用 FTP 命令列實用程序,您可以使用 FTPget
命令獲取具有絕對路徑的文件,而不是必須cd
進入每個連續的目錄才能獲取文件。
當我打字時
ftp> get pub/sdc.tgz
甚至是這個(在 pub 之前有一兩個斜杠)
ftp> get /pub/sdc.tgz
它告訴我找不到該文件:
local: /pub/sdc.tgz remote: /pub/sdc.tgz
ftp: local: /pub/sdc.tgz: No such file or directory
然而當我這樣做時
ftp> cd pub
ftp> get sdc.tgz
它工作得很好。
ftp 命令列中是否有正確的語法來獲取具有絕對路徑的文件,或者我需要cd
先pub
執行此操作?
(僅供參考:我想做的是使用每天運行的 PERL 腳本將文件保存到 FTP 伺服器,然後使用稍後的腳本 1. 獲取文件——我不反對使用它來wget
執行此操作—— 2. 獲取文件後刪除該文件,我需要使用FTP 來完成此操作,我希望第二個腳本刪除該文件,這樣將來如果第一個腳本無法將文件保存到FTP 伺服器,第二個腳本會知道存在錯誤,因為該檔案不存在,我也可以用不同的名稱保存它,但我不想用大量不同日期的檔案污染FTP 伺服器。
答案1
這是因為當您使用 FTP 的 Get 時,並且不指定本機路徑/檔案名,它會嘗試使用與遠端檔案相同的路徑/名稱。
這個錯誤:
ftp: local: /pub/sdc.tgz: No such file or directory
告訴您在本機上找不到該檔案。所以我的假設是你的本機磁碟機的根目錄中沒有“pub”資料夾。
句法:得到遠端檔案 [本機檔案]
參數):
遠端檔案 - 指定要複製的遠端檔案。
local-file - 指定要在本機上使用的名稱。如果未指定,則為該檔案指定遠端檔案名稱。
所以嘗試這樣的事情:
ftp> get pub/sdc.tgz c:\temp\sdc.tgz
也許
ftp> get pub/sdc.tgz .\sdc.tgz
將其下載到目前資料夾。
看這裡了解更多信息得到用法。
相關蘇問題:我可以使用 ftp get 指令指定目的地嗎?
答案2
ncftpget
如果您可以將其安裝在客戶端電腦上,則可以使用,它使用絕對路徑。
另外,如果您使用 Perl,那麼您可以看看FTP模組。