|
chainliq
高级用户
学无尽止
积分 635
发帖 244
注册 2006-4-15 来自 广西贵港
状态 离线
|
『楼 主』:
[已结] 讨教自动备份文件到FTP上的 批处理
有个想法,可能我这个想法以前以经有N个人问过啦,可我现在还是弄不懂。
想向各位讨教:
2003上的FTP 我想在收费系统的计划任务里面做个批处理,运行批处理的时候能自动登陆到FTP上,并复制本机D:\1234 到FTP上的D:\备份 中,我试过好多参数,可都不成功,不知道为什么,
哈哈,我好像变成个问题王啦,差不多每天都有问题响,真不好意思!
[ Last edited by chainliq on 2006-11-6 at 11:36 PM ]
|
|
2006-10-30 23:42 |
|
|
vkill
金牌会员
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
『第
2 楼』:
ftp -n -s:test.txt
test.txt
o 127.0.0.1 21
user admin
pass
put D:\1234\*.*
exit
大概这个意思
|
|
2006-10-31 01:09 |
|
|
chainliq
高级用户
学无尽止
积分 635
发帖 244
注册 2006-4-15 来自 广西贵港
状态 离线
|
『第
3 楼』:
Quote: | 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存放在哪儿呀!
请指教!
|
|
2006-10-31 09:41 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
4 楼』:
ftp -n -s:test.txt 含意是:你在ftp里要键入的那些指令单放在一个脚本文件里了,名为 test.txt
参数 -S: 代表后面是指定的带有自动指令的脚本命令文件。
更详细的信息可以看它的帮助,FTP --help 就可以看帮助信息了,而 FTP /?则不会出现帮助。
FTP --HELP的获得帮助信息的这种 --HELP而非 /?来源于Linux风格,那里用法也一样。
C:\windows\system32>ftp --help
Transfers files to and from a computer running an FTP server service
(sometimes called a daemon). Ftp can be used interactively.
FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:
fer] [-b:asyncbuffers] [-w:windowsize] [host]
-v Suppresses display of remote server responses.
-n Suppresses auto-login upon initial connection.
-i Turns off interactive prompting during multiple file
transfers.
-d Enables debugging.
-g Disables filename globbing (see GLOB command).
-s:filename Specifies a text file containing FTP commands; the
commands will automatically run after FTP starts.
-a Use any local interface when binding data connection.
-A login as anonymous.
-x:send sockbuf Overrides the default SO_SNDBUF size of 8192.
-r:recv sockbuf Overrides the default SO_RCVBUF size of 8192.
-b:async count Overrides the default async count of 3
-w:buffer size Overrides the default transfer buffer size of 65535.
host Specifies the host name or IP address of the remote
host to connect to.
Notes:
- mget and mput commands take y/n/q for yes/no/quit.
- Use Control-C to abort commands. 既然是FTP一运行就要调用你通过 -S:参数指定的自动指令脚本文件,
那么这个 test.txt 当然要在当前目录才能找到了。
为什么test.txt 的内容是这样的:
o 127.0.0.1 21
user admin
pass
put D:\1234\*.*
exit
因为如果你直接进入FTP的话,也要先告诉它你要连接哪个服务器吧?
所以指令为:
open 你要连接的服务器地址 21
这个21为你要指定连接服务器的端口(一般都默认为21,如果不是21一般是为了防黑客扫描……等特殊原因)
然后服务连接通了,
自然要你输入登录名与密码,
所以,如果你亲自用FTP内操作一回,记住你都用过什么指令了,
就可以单写出一个这个“回答”指令自动执行的命令集,放到一个文本文件里,
然后如he200377的示例原理一样进行操作就行了。
进入FTP内,如果键入 ? 还可以获得更详细的命令帮助。
至于你的自动应答的指令文件(test.txt)内都放哪些操作指令,
这要你先手功使用ftp把你要的所用工作操作一遍,
这样你就知道系统会问你什么,然后你要输入什么内容(这个输入的就是要放到自动指令集文件内的)。
[ Last edited by redtek on 2006-10-31 at 10:24 AM ]
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-10-31 10:21 |
|
|
chainliq
高级用户
学无尽止
积分 635
发帖 244
注册 2006-4-15 来自 广西贵港
状态 离线
|
『第
5 楼』:
我按照做啦,是能连接,可为什么不能动动上传文件呢!
|
|
2006-11-5 05:45 |
|
|
vkill
金牌会员
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by chainliq at 2006-11-5 05:45:
我按照做啦,是能连接,可为什么不能动动上传文件呢! |
|
上传不能用*.*啊~要写本地的完整路径
|
|
2006-11-5 05:52 |
|
|
chainliq
高级用户
学无尽止
积分 635
发帖 244
注册 2006-4-15 来自 广西贵港
状态 离线
|
『第
7 楼』:
写啦呀,可是还是上传了,可我在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
这样又可以,不知道为什么哦!
|
|
2006-11-5 06:01 |
|
|
vkill
金牌会员
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
『第
8 楼』:
Quote: | 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:\新堮.. |
|
剩下的就自己慢慢揣摩了哦~谁都不是每个问题都懂的
|
|
2006-11-5 06:14 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
9 楼』:
经过测试我这里没有问题,同时也模拟了你的目录位置: D:\新建文件夹\98765432.txt以预防不太可能的万分之分一错误……
测试FTP服务器类型:Linux主机
你的test.txt指令文件如下:
(注:不要在登录名或密码前面加user或pass的指令,直接写登录名或密码就行了)
(如果你的登录名是abc,那么就写abc……)
你的FTP登录名
你的FTP的登录密码
cd mydos
put d:\新建文件夹\98765432.txt
by 你的FTP应该如下方式使用:
FTP.EXE -S:test.txt 192.168.2.248 (即:直接就指定命令文件test.txt,然后直接指定要登录的服务器地址就行了)
然后再试一下,应该没有问题。
就是万一出现了问题也没什么,看错误信息(如何FTP命令都比较熟悉的话)。
[ Last edited by redtek on 2006-11-5 at 06:34 AM ]
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-11-5 06:30 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
10 楼』:
另:你的命令脚本是EXIT指令是什么?
C:\WINDOWS>ftp
ftp> he
Commands may be abbreviated. Commands are:
! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir FTP里好象没有exit这个指令吧?
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-11-5 06:37 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
11 楼』:
Quote: | 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"。
|
|
2006-11-5 13:40 |
|
|
chainliq
高级用户
学无尽止
积分 635
发帖 244
注册 2006-4-15 来自 广西贵港
状态 离线
|
『第
12 楼』:
我知道啦,就是在输入完用户名那里出现个错误提示“ Not connected" 这个意思是说,没有连接上或没有共享,
请问如何解决呀1
|
|
2006-11-6 23:06 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
13 楼』:
不是给楼主举实际的例子了吗?
而且FTP服务器架设……到FTP指令的基本正确操作我不知道楼主是不是都非常熟悉?(但上面的例子已经举得非常清楚:)
同时,我不知道如果FTP服务器或是因防火墙的原因而导致你不能正确接入服务器,
端口是否开启等楼主是否能正确判断出来?
(如果楼主不能判断出来,请详细提示你操作的步骤)
(其实楼上举的例已经非常清楚啦:)、
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-11-6 23:30 |
|
|
chainliq
高级用户
学无尽止
积分 635
发帖 244
注册 2006-4-15 来自 广西贵港
状态 离线
|
『第
14 楼』:
哈哈,解决啦,呵呵,没想到换个方法就KO````啦!!还是要动动脑袋的呀!
o 192.168.2.248 21
user gg123 ********
cd MYDOS
put ``````````
谢谢各位的帮忙呀!!
[ Last edited by chainliq on 2006-11-7 at 10:52 PM ]
|
|
2006-11-6 23:35 |
|
|
vkill
金牌会员
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
『第
15 楼』:
楼主,pass ****这句只写****就可以了啊~写pass是错误的吧!
|
|
2006-11-7 09:21 |
|