[英]FTP copy all files from a directory to local directory
我正在嘗試創建一個批處理文件,使用用戶名mark123和密碼testabc將FTPs FTPs到URL(例如ftp.tester123.com.au)的目錄“ C:\\ Documents \\ Client \\”到本地目錄“ C:\\ Desktop \\ GoHere \\”。
該腳本是將此ftp目錄中的所有文件復制到本地計算機。 我已經閱讀了以下msdn教程https://support.microsoft.com/en-gb/kb/96269
但這對我當前的問題沒有幫助。 winscp可以讓我執行此任務並為其創建一個批處理文件嗎? 我想自動執行此目錄-每天晚上12點。 這可能嗎?
另外,我對.NET非常熟悉,並且winSCP具有包裝程序,可讓您編寫C#而不是標准腳本。 如果我采用.NET方法,是否可以創建一個可以簡單地通過雙擊執行的簡單.exe或批處理文件?
提前致謝!
您想要做的是一件非常瑣碎的任務。 您缺少的是對任務的概念性理解。 因此,很難給您一個對您有所幫助的答案,因為很難理解您缺少完成該知識所需要的知識。
最簡單的方法是利用WinSCP功能生成傳輸代碼 :
您將看到“ 生成轉移代碼”對話框 。
在這里,您可以選擇是否要WinSCP 生成WinSCP腳本,甚至是完整的Windows批處理文件 :
或.NET匯編(C#)代碼 :
(這些是WinSCP文檔的官方屏幕截圖。因此,它們顯示的是SFTP上傳,而不是FTP下載)
現在您已經准備好批處理文件或C#可執行文件,您可以使用Windows Scheduler安排其運行 。
如果您已安裝WinSCP,則以下代碼將為您工作。 我從特定文件夾中提取了所有文件,並將其下載到本地文件夾中。 一路寫了一個日志文件。 您也可以使用WinSCP生成此代碼。
@echo off
set mydate=%date:~10,4%%date:~7,2%%date:~4,2%
set d_name=/export/home/sysm/opt/oss/server/var/fileint/pm/pmexport_%mydate%
#echo %d_name%
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\Users\HP\Desktop\Datacom\Reports\WinSCP.log" /ini=nul ^
/command ^
"open sftp://YOUR_USERNAME:YOUR_PASSWORD@FTP_SERVER_IP/ -hostkey=""ssh-rsa 1024 PUuYRVADKXB9j1Si+o89v2fsrsr7w2ZrV3NIqdz6kus0GtY=""" ^
"cd %d_name%" ^
"lcd C:\Users\HP\Desktop\Datacom\Reports\Test_ftp" ^
"get *" ^
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
根據需要對其進行修改,然后將代碼放入.bat文件中。 以后,您可以手動執行它或使用Windows Task Scheduler。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.