2016-08-05 66 views
0

我需要知道我們是否可以使用腳本通過SFTP傳輸文件。在Windows中使用非外部依賴腳本的SFTP文件傳輸

我能夠從我的系統ping通服務器,但是當我使用ftp命令它顯示「連接丟失」,當我使用sftp命令它顯示「命令不存在」

無法使用外部PuTTY或WinSCP。

在此先感謝!

+3

由於Windows有沒有本地/內置支持SFTP,現在你真的要與「無外部」要求作鬥爭。 –

+0

這可能會有幫助,但你基本上使用.NET來做到這一點:http://stackoverflow.com/questions/1867385/upload-files-with-ftp-using-powershell#1868367 – n3wjack

+0

那麼什麼是最好的方式來實現它? 因爲如果我們使用putty或winscp,那麼在腳本中沒有任何要點 –

回答

1

在Windows內置命令,PowerShell,.NET框架或任何其他腳本語言(如WSH/JScript/VBScript)中不存在SFTP支持。

所以你必須使用外部軟件或庫。

對於PowerShell的解決方案,請參閱:
Upload file to SFTP using PowerShell

對於批處理文件解決方案,請參閱:
Secure FTP using Windows batch script

+0

如果我嘗試使用winscp.com exec文件,使用以下腳本 使用命令:winscp.com/script = C:/sftp/sFTP.txt/ini = nul open sftp:// username:password12#@amesftpstage1.resources.com/ put C:/ folderA /*.*/Repository/Testing_sftp_batch/ exit Expected主機密鑰未配置,請使用-hostkey開關。使用批處理文件出現錯誤 –

+0

C:\> winscp.com /script=C:/sftp/sFTP.txt/ini = nul 正在搜索主機... 正在連接到主機... 正在驗證... 正在使用用戶名「apadda」。 使用預先輸入的密碼進行身份驗證。 訪問被拒絕。 已斷開連接:沒有可用的支持身份驗證方法(服務器已發送:) 身份驗證日誌(請參閱會話日誌以瞭解詳細信息): 使用用戶名「apadda」。 訪問被拒絕。 驗證失敗。 –

+0

我假設你已經解決了hostkey部分。如果沒有,請參閱https:// winscp。net/eng/docs/scripting#hostkey +無論如何,你能夠連接/驗證到SFTP服務器嗎?從WinSCP GUI或使用任何其他SFTP客戶端? –