3

我有以下批处理文件:

open <ip>
username
password
bin
lcd C:\FTP_OUT\
prompt
mput *.PDF
ascii
mput *.XML
bye

如何将其更改为仅将超过 1 分钟的文件上传到 FTP 服务器?

4

1 回答 1

0

Windowsftp.exe不支持基于文件时间戳的任何类型的文件选择。

您所能做的就是生成一个临时上传脚本,其中包含要上传的文件的明确列表。您可以使用 PowerShell 脚本来生成临时脚本(在纯批处理文件中实现会非常困难)。


一种更简单的解决方案是使用支持基于文件时间戳选择文件的 FTP 客户端。

例如,对于WinSCP FTP/SFTP 客户端,您可以使用以下批处理文件:

@echo off
winscp.com /log=upload.log /command ^
  "open ftp://username:password@example.com/" ^
  "lcd C:\FTP_OUT" ^
  "put *.PDF<1N" ^
  "put -transfer=ascii *.XML<1N" ^
  "exit"

文件中的<1N掩码是一个时间限制,仅选择一分钟以上创建或修改的文件。

另请参阅将 Windowsftp.exe脚本转换为 WinSCP 脚本的指南。

(我是WinSCP的作者)

于 2016-02-26T10:20:03.483 回答