Board logo

标题: [网络连接] 批处理怎样每天定时上传一个文件到服务器? [打印本页]

作者: y港~    时间: 2008-7-25 22:45     标题: 批处理怎样每天定时上传一个文件到服务器?

每天定时上传一个文件到服务器,怎么写?
比如 每天凌晨2:00,自动上传d:\dd\d.jpg到XXX
手动的我已经会了,
at使用不熟练,麻烦高手解答哈,谢谢。
作者: pusofalse    时间: 2008-7-25 22:52

at 02:00 /every:m,t,w,th,f,s,su copy d:\dd\.d.jpg \\server\xxx

以上代码前提是建立连接。。。
或者远程服务器运行TFTP服务的话,可以如下
at 02:00 /every:m,t,w,th,f,s,su tftp /i server put d:\dd\d.jpg

如果服务器运行ftp服务,那就不知了
ftp命令不了解,会挺麻烦,用到用户名,密码和要上传或下载的文件等信息,
事先存放到一个记事本里,然后载入。
作者: batman    时间: 2008-7-25 22:53

使用at要开启计划服务,我个人喜欢用计划任务schtasks
作者: y港~    时间: 2008-7-25 22:58     标题: 。。。

如果不开启计划任务的话,AT就没有作用了是吗?
作者: y港~    时间: 2008-7-25 23:01     标题: schtasks

如果用schtasks,代码改如何写呢,谢谢。
作者: y港~    时间: 2008-7-25 23:06     标题: pusofalse

我用的是FTP
你说对,需要用文本来保存一些登陆信息
我已经做到了 谢谢你的代码
作者: batman    时间: 2008-7-25 23:09

是的,必须开启计划服务,而计划任务一般都是打开的,所以我喜欢用计划任务。
首先将楼主的上传写成bat,如命名为ftps.bat(注不可命名为ftp.bat)保存在d:\test下
然后用以下代码生成计划任务:
  1. schtasks /create /ru system /tn ftps /tr d:\test\ftps.bat /st 02:00:00 /sc daily
复制代码
如要取消:
  1. schtasks /delete /tn ftps /f
复制代码

作者: y港~    时间: 2008-7-25 23:20     标题: 是这样吗?

schtasks /create /ru system /tn ftps /tr d:\test\ftps.bat /st 02:00:00 /sc daily(test.bat内容)
ftp -s:d:\ftpcmd.txt 61.129.251.137(ftps.bat内容)
ftpcmd.txt内容如下
xxx ftp用户名
xxx ftp密码
cd xxx 进入FTP指定目录
lcd d:\xxx 定位本机工作目录
get x.jpg 上传x.jpg到服务器xxx目录
bye 退出FTP
====
test.bat需在机器启动时加载,启动项或RUN项,这样到指定时间执行ftps.bat
我还没有测试,得到你的代码后。目前思路是这样。不知对不对
作者: batman    时间: 2008-7-25 23:28

不对,ftps.bat是我假设的批处理名字,也就是楼主用来上传文件的bat
schtasks /create /ru system /tn ftps /tr d:\test\ftps.bat /st 02:00:00 /sc daily
就是在系统中建立每天02:00定时启动我所假设的d:\test下ftps.bat的名
为ftps的计划任务(这个是在后台启动的,隐藏的),楼主只需修改其中的
tn、tr、后面的参数为自己的计划名(自定)和完整路径就可以了。至于上
传文件的批处理中肯定是要自动读取ftpcmd.txt中的内容的。
作者: y港~    时间: 2008-7-26 00:16     标题: OK了,谢谢。

谢谢你的代码。OK了,谢谢。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2