我有以下批处理文件:
open <ip>
username
password
bin
lcd C:\FTP_OUT\
prompt
mput *.PDF
ascii
mput *.XML
bye
如何将其更改为仅将超过 1 分钟的文件上传到 FTP 服务器?
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的作者)