与Windows的自动FTP上传
21 maggio 2008, 0:38 方法与技巧 , Windows ,2008年5月21日,12:38
今天,我不得不编写一个文件在Windows XP Professional自动上传。
这是始终是一个非常有益的:毕竟,采取各种招数,你也可以从Windows`的cron在Linux服务器上的行为隐约类似的东西。
只依稀,我不会欺骗任何人。
但你可以做到。
这里是如何。
假设你有以下的FTP服务器的文件test.txt拷贝到移动每隔一小时:
主持人:FTP.ESEMPIO.NET
用户:User
传球:QWERTY键盘
目的地:/热火/文件夹/
首先,我们创建一个批处理脚本,可以打开一个FTP连接,移动文件,然后关闭连接本身。
下面是脚本,我创建并保存在文件UPLOADME.BAT:
@echo off
echo user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo put %1>> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat FTP.ESEMPIO.NET
del ftpcomm.dat
简单明了。 从得到的命令行发布的文件test.txt只需键入:
uploadme "C:\Documents and Settings\Ivan Agliardi\Documenti\PROVA.TXT"
现在是 - 荒谬 - 棘手的部分。 Windows没有一个真正的系统cron,所以我们不得不求助于臭名昭著的计划任务(化名任务调度)。
我引述http://support.microsoft.com/kb/308569/it :
要打开计划任务,请单击开始按钮,指向所有程序,附件,系统工具,然后单击任务计划。
要安排一个新的任务:
| 1。 | 双击添加任务计划启动计划任务向导的第一个对话框,单击“下一步”。 | ||||||||||||
| 2。 |
在接下来的对话框中显示您的计算机上安装的Windows XP操作系统的一部分,或作为软件安装的程序列表。 使用下列方法之一:
| ||||||||||||
| 3。 |
输入操作的名称,并从以下选项中选择:
| ||||||||||||
| 4。 |
单击“下一步”,指定的时间信息和天运行操作,然后单击下一步。 关于执行操作的日期和时间的信息依赖于以前的向导对话框中所做的选择。 例如,如果您选择每周选项,你必须显示一天,一周的时间,以及操作是否应执行每周,每两周,每三周等。 | ||||||||||||
| 5。 | 键入用户名和密码与操作相关。 确保你选择一个用户拥有足够的权限来运行程序。 默认情况下,向导选择记录当前用户的名称。 | ||||||||||||
| 6。 | 单击下一步,然后单击“完成后,确认您的选择。 |
引述完毕......现在,有点'更严重的问题是,工作排程接口不提供了极大的选择时机:如果我要运行脚本,每隔一小时,我首先创建一个计划任务计时可用,然后将其高级选项进行修改。
有什么是执行每7分钟一个先进的事件 - 例如 - 而不是每天一次,这是我不清楚。 我不太清楚,但是,高级选项允许我设置自动重复操作,每n分钟,其实获得的早期形式的`cron的`。















11月27日,2008年在13点11分
您好! 我怎样才能上传到我的服务器自动整个文件夹(所有内容,我不知道先验),定期自动?
您好,谢谢!
在15:19 2008年11月27日
您好KUMO,
我认为在我的指示几乎有你需要的一切。 什么是点,你不明白吗? 让我知道:我给一个愿意。
你好
伊万
11月27日,2008 18:03
您好! 我不能上传文件夹! 这些尝试都没有:
C:\文件和设置\ FedeCri \桌面的> uploadme:\头像
C:\文件和设置\ FedeCri \桌面> uploadme:\ \
C:\文件和设置\ FedeCri \桌面> uploadme:\头像\ *。
他返回“错误打开文件阿凡达”......这是如果通配符不起作用...
2008年12月2日,十点58
伊万? 你能帮我x FAV?
2008年12月2日,12:00
KUMO您好! 可是我忘了你,因为我不知道
我认为问题的解决方案很简单:这是在6批次线,我在我的后发表的声明MPUT更换教育。 下面是最终脚本:
@echo offecho user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo mput %1>> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat http://FTP.ESEMPIO.NET
del ftpcomm.dat
okkio,我还没有试过,因为我现在没有时间,但它应该工作......让我知道它是如何还是去了,OK?
伊万Agliardi
2008年12月2日16时49分
谢谢RESP,伊万,但情况恶化...不能上传整个文件夹,现在我不收费甚至一个单一的文件,我得到停留在这一点上:
ftp> bin200 TYPE is now 8-bit binary
ftp> mput stewie.jpg
mput stewie.jpg? quit
ftp>
2008年12月2日,17:00
有趣的是,FTP从Windows命令行提示符模式是默认情况下,与MPUT。
我仍然没有访问Windows机器做这个测试,然后我给你直,你试试看,如果我确认它的工作原理...好吗? 如果我们看是行不通的,所以我有两分钟,试试这个:
@echo offecho user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo prompt>> ftpcomm.dat
echo mput %1>> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat http://FTP.ESEMPIO.NET
del ftpcomm.dat
说明:我的发言提示,它提供了互动式提示(6线)。 尝试,让我知道。
我等待期待
伊万Agliardi
12月2日,2008 19:30
谢谢! 它的工程!
最后一个问题,虽然“
我如何把代码作为参数无需从DOS切换你要加载的文件夹中的呢?
基本上,我想小部分程序,只需点击2次 
12月3日,2008年在8:27
如果我的理解是,你想这个简单的脚本目录包括直接通过FTP移动路径,并不需要它作为一个参数。 嗯,有一件事是很简单:
@echo offecho user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo prompt>> ftpcomm.dat
echo mput C:\avatar >> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat http://FTP.ESEMPIO.NET
del ftpcomm.dat
如果它不能正常工作(我记得我总是使用只有Linux和笔记本电脑上也从我写的),将尝试以取代
echo mput C:\avatar >> ftpcomm.dat同
echo mput C:\avatar\* >> ftpcomm.dat让我知道
伊万Agliardi
2008年12月11日12时11分
完善,谢谢! 不过,因为我没有看到通配符?? 例如:
回声MPUT的“C :/ avat * /新/ *。GIF”ftpcomm.dat返回错误,因为我无法找到该文件夹的化身!
12月11日,2008在1:20
KUMO你好,请帮DOS下的FTP
伊万
2008年12月11日14时39
我要转让必须ASCII传输二进制切换? 但到底“*。GIF”没有问题! 为什么我有问题,只有该文件夹的缩写?
2008年12月12日20点14分
您好KUMO
我也有同样的问题...你已经解决了吗?
与1000
问候
2009年7月7日11点53
一切是美丽的,只是有一个小问题,但并非最不重要,如果你使用这个脚本和你连接的FTP站点上的数据有一些问题可能会得到不正确的,因为没有数据出现在本地和远程这里是没有可靠的FTP的一个小点,你有任何解决方案?
2009年7月7日,12:57
您好丹尼尔,
后,您提到的唯一公开回应到,我已经收到的请求,提供了明确要求使用FTP协议。 正如你指出其中的正确发言的FTP协议,并没有出现在源文件和目标,虽然在大多数情况下可能出现的连接问题检测和转让的限制失败,这一切都依赖于操作系统和/或管理操作的软件。 一种替代解决方案无疑是在Windows下使用类似rsync软件。 找到一个教程做一个简单的解决方案,使用rsync这个地址: http://www.fabriziosinopoli.it/2008/02/18/backup-con-rsync-in-windows/
玩得开心!