簡體   English   中英

FTP將所有文件從目錄復制到本地目錄

[英]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登錄到您的FTP服務器;
  • 導航到源遠程目錄和目標本地目錄;
  • 選擇要下載的遠程文件(所有文件?);
  • 使用主菜單中的文件>下載命令(或文件上下文菜單中的下載命令);
  • 在“ 下載”對話框上 ,單擊“ 傳輸設置”按鈕上的下拉箭頭,然后選擇“ 生成代碼”命令。

您將看到“ 生成轉移代碼”對話框

在這里,您可以選擇是否要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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM