“通过 FTP 命令从服务器获取数据”不是问题。但是,如果我想从服务器获取今天的文件,其名称类似于 (BACKUP20141210),并且如果它存在于包含以前日期备份文件的文件夹中,例如 (BACKUP20141209, BACKUP20141208,...),什么样的FTP脚本适合这里?在这里,我分享我的BAT FTP脚本
open myftp.myserver.com
myusername
mypassword
lcd "c:\myfolder"
cd webfolder
for /f "tokens=2-4 delims=/ " %%a in ('echo %date%') do echo get myfile%%a%%b%%c
但我收到“无效命令”响应
"for /f "tokens=2-4 delims=/ " %%a in ('echo %date%') do echo get myfile%%a%%b%%c"
线,然后就停了。
任何人都可以提出任何相关的答案吗?是否有任何选项可以通过命令从服务器(LINUX)获取文件到客户端,而不是使用 FILEZILLA 或 SFTP 等。实际上我需要一个自动过程,将每天继续。
答案1
除非您有一个聪明的 FTP 客户端(这是一个可编写脚本的客户端,for ...
无法正常工作),否则它必须由命令解释器进行解释。不过,您可以使用适当的参数从脚本调用 FTP 客户端。
也就是说,您的脚本是 Windowscmd.exe
批处理文件,因此在 UNIX 和 Linux SE 上询问可能不是最好的主意 -超级用户可能是一个更好的地方。
答案2
您是否尝试过将 mget 与适当的通配符一起使用,例如mget *.*
?或者考虑非 FTP 解决方案,例如scp
或rsync
。