中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 11:20
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结] 讨教自动备份文件到FTP上的 批处理
可打印版本  3,031 / 15
第1楼 chainliq 发表于 2006-10-30 23:42
高级用户 发帖 244 积分 635 来自 广西贵港
[已结] 讨教自动备份文件到FTP上的 批处理
有个想法,可能我这个想法以前以经有N个人问过啦,可我现在还是弄不懂。
想向各位讨教:
2003上的FTP 我想在收费系统的计划任务里面做个批处理,运行批处理的时候能自动登陆到FTP上,并复制本机D:\1234 到FTP上的D:\备份 中,我试过好多参数,可都不成功,不知道为什么,


哈哈,我好像变成个问题王啦,差不多每天都有问题响,真不好意思!

[ Last edited by chainliq on 2006-11-6 at 11:36 PM ]
第2楼 vkill 发表于 2006-10-31 01:09
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
ftp -n -s:test.txt

test.txt
o 127.0.0.1 21
user admin
pass
put D:\1234\*.*
exit

大概这个意思
第3楼 chainliq 发表于 2006-10-31 09:41
高级用户 发帖 244 积分 635 来自 广西贵港
Originally posted by he200377 at 2006-10-31 01:09:
ftp -n -s:test.txt

test.txt
o 127.0.0.1 21
user admin
pass
put D:\1234\*.*
exit

大概这个意思


你的意思是说把
o 127.0.0.1 21
user admin
pass
put D:\1234\*.*
exit
写入test记事本里保存为test.txt
然后再调用:ftp -n -s:test.txt 吗
那test.txt存放在哪儿呀!
请指教!
第4楼 redtek 发表于 2006-10-31 10:21
金牌会员 发帖 1,147 积分 2,902
ftp -n -s:test.txt 含意是:你在ftp里要键入的那些指令单放在一个脚本文件里了,名为 test.txt
             参数 -S: 代表后面是指定的带有自动指令的脚本命令文件。

更详细的信息可以看它的帮助,FTP --help 就可以看帮助信息了,而 FTP /?则不会出现帮助。
FTP --HELP的获得帮助信息的这种 --HELP而非 /?来源于Linux风格,那里用法也一样。



既然是FTP一运行就要调用你通过 -S:参数指定的自动指令脚本文件,
那么这个 test.txt 当然要在当前目录才能找到了。


为什么test.txt 的内容是这样的:
 

因为如果你直接进入FTP的话,也要先告诉它你要连接哪个服务器吧?
所以指令为:
open 你要连接的服务器地址 21

这个21为你要指定连接服务器的端口(一般都默认为21,如果不是21一般是为了防黑客扫描……等特殊原因)

然后服务连接通了,
自然要你输入登录名与密码,
所以,如果你亲自用FTP内操作一回,记住你都用过什么指令了,
就可以单写出一个这个“回答”指令自动执行的命令集,放到一个文本文件里,
然后如he200377的示例原理一样进行操作就行了。

进入FTP内,如果键入 ? 还可以获得更详细的命令帮助。
         

至于你的自动应答的指令文件(test.txt)内都放哪些操作指令,
这要你先手功使用ftp把你要的所用工作操作一遍,
这样你就知道系统会问你什么,然后你要输入什么内容(这个输入的就是要放到自动指令集文件内的)。

[ Last edited by redtek on 2006-10-31 at 10:24 AM ]
第5楼 chainliq 发表于 2006-11-05 05:45
高级用户 发帖 244 积分 635 来自 广西贵港
我按照做啦,是能连接,可为什么不能动动上传文件呢!
第6楼 vkill 发表于 2006-11-05 05:52
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
Originally posted by chainliq at 2006-11-5 05:45:
我按照做啦,是能连接,可为什么不能动动上传文件呢!

上传不能用*.*啊~要写本地的完整路径
第7楼 chainliq 发表于 2006-11-05 06:01
高级用户 发帖 244 积分 635 来自 广西贵港
写啦呀,可是还是上传了,可我在CMD下用put却能,而你下下方法:

ftp -n -s:test.txt

test.txt内容是:
o 192.168.2.248 21
user ****
pass ****
cd MYDOS
put d:\新建文件夹\98765432.txt
exit
by

可是就是上传不上去,不知道为什么!

而这样做却可以

运行-cmd
输入 FTP IP
再输入用户名和密码
Put d:\新建文件夹\98765432.txt
by

这样又可以,不知道为什么哦!
第8楼 vkill 发表于 2006-11-05 06:14
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
Originally posted by chainliq at 2006-11-5 06:01:
写啦呀,可是还是上传了,可我在CMD下用put却能,而你下下方法:

ftp -n -s:test.txt

test.txt内容是:
o 192.168.2.248 21
user ****
pass ****
cd MYDOS
put d:\新堮..

剩下的就自己慢慢揣摩了哦~谁都不是每个问题都懂的
第9楼 redtek 发表于 2006-11-05 06:30
金牌会员 发帖 1,147 积分 2,902
经过测试我这里没有问题,同时也模拟了你的目录位置: D:\新建文件夹\98765432.txt以预防不太可能的万分之分一错误……

测试FTP服务器类型:Linux主机

你的test.txt指令文件如下:
(注:不要在登录名或密码前面加user或pass的指令,直接写登录名或密码就行了)
(如果你的登录名是abc,那么就写abc……)



你的FTP应该如下方式使用:

(即:直接就指定命令文件test.txt,然后直接指定要登录的服务器地址就行了)


然后再试一下,应该没有问题。
就是万一出现了问题也没什么,看错误信息(如何FTP命令都比较熟悉的话)。

[ Last edited by redtek on 2006-11-5 at 06:34 AM ]
第10楼 redtek 发表于 2006-11-05 06:37
金牌会员 发帖 1,147 积分 2,902
另:你的命令脚本是EXIT指令是什么?



FTP里好象没有exit这个指令吧?
第11楼 lxmxn 发表于 2006-11-05 13:40
版主 发帖 4,938 积分 11,386
Originally posted by chainliq at 2006-11-5 06:01:
写啦呀,可是还是上传了,可我在CMD下用put却能,而你下下方法:

ftp -n -s:test.txt

test.txt内容是:
o 192.168.2.248 21
user ****
pass ****
cd MYDOS
put d:\新堮..


  问题很可能就出在你的这个test.txt的内容上面。

  你已经用了"o 192.168.2.248 21",那么下面就直接接上用户名和密码就行了,不需要在前面加"user ""pass "什么的。而且ftp里面登出是用"bye",而不是"exit"。
第12楼 chainliq 发表于 2006-11-06 23:06
高级用户 发帖 244 积分 635 来自 广西贵港
我知道啦,就是在输入完用户名那里出现个错误提示“ Not connected" 这个意思是说,没有连接上或没有共享,
请问如何解决呀1
第13楼 redtek 发表于 2006-11-06 23:30
金牌会员 发帖 1,147 积分 2,902
不是给楼主举实际的例子了吗?
而且FTP服务器架设……到FTP指令的基本正确操作我不知道楼主是不是都非常熟悉?(但上面的例子已经举得非常清楚:)

同时,我不知道如果FTP服务器或是因防火墙的原因而导致你不能正确接入服务器,
端口是否开启等楼主是否能正确判断出来?

(如果楼主不能判断出来,请详细提示你操作的步骤)
(其实楼上举的例已经非常清楚啦:)、
第14楼 chainliq 发表于 2006-11-06 23:35
高级用户 发帖 244 积分 635 来自 广西贵港
哈哈,解决啦,呵呵,没想到换个方法就KO````啦!!还是要动动脑袋的呀!
o 192.168.2.248 21
user gg123 ********
cd MYDOS
put ``````````

谢谢各位的帮忙呀!!

[ Last edited by chainliq on 2006-11-7 at 10:52 PM ]
第15楼 vkill 发表于 2006-11-07 09:21
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
楼主,pass ****这句只写****就可以了啊~写pass是错误的吧!
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023