每 10 分钟使用 FTP 上传一个文件

每 10 分钟使用 FTP 上传一个文件

我尝试每 10 分钟将文件从本地上传到 FTP。我只有 FTP 登录信息,并且我需要每次用户登录 Windows 时自动完成该过程。我该怎么做?

谢谢

答案1

使用以下命令尝试一下,它们将作为批处理脚本运行。只需在需要的位置输入变量值,例如 FTP 服务器 URL 或 IP 地址、用户名和密码、文件名和 ftptmpfile。

一旦您确认它可以按预期工作,我也建议您使用 Windows 任务计划程序来安排此脚本按照您需要的时间间隔运行。

我认为您已经熟悉其中的大部分内容,但如果您有任何问题或疑问,请告诉我。

FTP 批处理脚本示例

笔记:如果需要,只需改变 ECHO mput filename.file "uploaddir\filename.file">> %ftptmpfile% 成为 ECHO put filename.file "uploaddir\filename.file">> %ftptmpfile% 反而)

ECHO open ftp.ftpserver.com>> %ftptmpfile%
ECHO ftpusername>> %ftptmpfile%
ECHO ftppassword>> %ftptmpfile%
ECHO prompt>> %ftptmpfile%
ECHO binary>> %ftptmpfile%
ECHO put filename.file "uploaddir\filename.file">> %ftptmpfile%
ECHO dir>> %ftptmpfile%
ECHO bye>> %ftptmpfile%
ftp -s:%ftptmpfile%
IF EXIST "%ftptmpfile%" DEL /Q /F "%ftptmpfile%"

更多资源

答案2

创建一个批处理或 VB 脚本,执行您想要的操作。包括它以保持无限运行并让它每 10 分钟上传一次。

然后你可以创建一个计划任务来执行它登录时

不过,我看不出你为什么要这样做...如果它需要每十分钟运行一次,为什么要在登录时启动呢?你可以将它安排为每十分钟运行一次。

答案3

@PIMP_JUICE_IT 的答案是正确的。不要选择这个作为答案。这只是 PIMP_JUICE_IT 答案的重新格式化。我发现将临时文件放在首位更清晰、更容易编写。然后,该行的其余部分看起来像 FTP 脚本。

如果 TEMP 变量中包含空格字符,则使用引号会更安全并且是必需的。

此外,在临时文件名中使用 RANDOM 变量可以使其更有可能是唯一的,但不能保证。有多种方法可以做到这一点,但超出了本文的范围。删除任何现有临时文件可确保代码不会附加到现有文件中,这对此脚本不利。但是,如果另一个程序实际上正在使用该临时文件,则它可能会对另一个程序产生有害影响。

SET "ftptmpfile=%TEMP%\app_ftp_%RANDOM%.tmp"
IF EXIST "%ftptmpfile%" (DEL /Q /F "%ftptmpfile%")

ECHO>>"%ftptmpfile%" open ftp.ftpserver.com
ECHO>>"%ftptmpfile%" ftpusername
ECHO>>"%ftptmpfile%" ftppassword
ECHO>>"%ftptmpfile%" prompt
ECHO>>"%ftptmpfile%" binary
ECHO>>"%ftptmpfile%" put filename.file "uploaddir\filename.file"
ECHO>>"%ftptmpfile%" dir
ECHO>>"%ftptmpfile%" bye

ftp -s:"%ftptmpfile%"
IF EXIST "%ftptmpfile%" DEL /Q /F "%ftptmpfile%"

相关内容