2013-12-11 22 views
0

我試圖使用批處理文件下載一些文件,但是在讀取用戶名行後會拋出錯誤「Invalid command」。批處理文件ftp身份驗證問題

在我的批處理文件,我打電話給我的FTP文件如下:

ftp -n -s:ftp_download.txt 

我ftp_download.txt看起來是這樣的:

open myname.com 
[email protected] 
test 
lcd C:\myDownloads 
cd download_files 
get MY_NEW_FILES_*.xml 
bye 

然而[email protected]線後引發錯誤「無效的命令',因此腳本不會連接到我的ftp服務器。

當驗證如下:

open myname.com 
user [email protected] test 

我得到「不連接」錯誤

但是使用這個用戶名([email protected])和密碼(測試)我仍然能使用Filezilla進行連接。

我在某處丟失了一個命令嗎?

+0

嘗試手動ftp'ing,也許服務器不需要登錄。如果您發送'user [email protected] test',會發生什麼情況? – CodeCaster

+0

我有經驗的用戶名不要使用@domain。嘗試使用「FTP myname.com」命令以交互方式登錄並在其中鍵入用戶名。如果它不被接受,他們再試一次,使用不帶@ myname.com的'test'來查看是否被接受。 – foxidrive

+0

匿名登錄不起作用。並且在FileZilla中甚至無法使用域名。 – mathiasb

回答

1

爲了那些像CharlesKSQL,在我的問題誰可能絆倒。 下面是我如何使用它(事實證明,我出於某種原因必須使用sftp,因此請確保它已在服務器上啓用);

腳本(ftp_download.txt)包含以下內容:

option batch abort 
option confirm off 
open sftp://<username>:<password>@<host> -hostkey="<fingerprint/key>" 
option transfer binary 
cd <your folder> 
get <some file> 

如果你不知道的指紋和/或鍵;當連接槽sftp時,您可以在FileZilla中找到這些文件。它們顯示在彈出窗口中,當您第一次連接到服務器時顯示,或者當您已經連接時,您可以單擊右下角狀態欄中的小鎖圖標。

The Lock-icon in FileZilla

現在真正連接,你需要的軟件一點點(使用Windows時),以創建安全連接。我使用WinSCP。 您可以下載便攜式可執行文件here,並將它們(爲便於使用)放在與批處理文件相同的文件夾中。 然後你可以通過添加參數調用批處理文件可執行:

winscp.exe /script=ftp_download.txt 

那麼應該執行您的下載腳本。

P.S .:自從我完成這件事以來已經有一段時間了,但據我所知,它仍在工作。

0

您的文本文件應該是這樣的:

open myname.com 
user 
<enter username here> <password here> 
lcd C:\myDownloads 
cd download_files 
get MY_NEW_FILES_*.xml 
bye 

試一下,看看它是否有助於 enter image description here

+0

這給出了同樣的錯誤。但是,當我把'user'命令,用戶名和密碼放在同一行上時,他不再拋出無效命令錯誤,而是顯示'未連接' – mathiasb

+0

您是否嘗試過從DOS運行命令並查看它是否有效?見附件截圖。這不是火箭科學 – Chelseawillrecover