簡體   English   中英

Windows 批處理文件 - 僅將最新文件上傳到 FTP

[英]Windows batch file - Upload only latest file to FTP

我想從 Windows 服務器到我的 FTP 進行自動文件傳輸。

問題是文件的名稱中帶有時間戳(名稱不固定)。 所以我只需要上傳文件的最后一個版本(最新)。 有沒有辦法做到這一點?

在 Windows Server 2003 下運行。謝謝。

要選擇 Windows 批處理文件中的最新文件,請參閱
如何編寫 Windows 批處理腳本以從目錄中復制最新文件?

基於此,您可以創建一個上傳批處理文件,例如:

@echo off

FOR /F %%I IN ('DIR C:\source\path\*.* /B /O:D') DO SET NEWEST_FILE=%%I

echo Uploading %NEWEST_FILE%

(
    echo open ftp.example.com
    echo username
    echo password
    echo put C:\source\path\%NEWEST_FILE% /target/path/%NEWEST_FILE%
    echo bye
) > ftp.txt

ftp.exe -s:ftp.txt

要獲得更簡單、更可靠的方法,請使用一些更強大的 3rd 方 FTP 客戶端。

例如,對於WinSCP FTP 客戶端,您可以使用其put命令-latest開關

示例批處理文件 ( .bat ):

winscp.com /ini=nul /command ^
    "open ftp://username:password@ftp.example.com/" ^
    "put -latest C:\source\path\* /target/path/" ^
    "exit"

您甚至可以讓WinSCP 為您生成腳本/批處理文件(您只需要手動添加-latest開關)。

請參閱有關上傳最新文件的 WinSCP 文章

(我是 WinSCP 的作者)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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