① windows命令行怎么使用ftp
1、首先,同时按下快捷键 Win+R,调出运行窗口,然后在运行窗口中输入 FTP,回车。
② FTP常用命令全ji
文件传输软件的使用格式为:FTP,若连 接成功,系统将提示用户输入用户名及口令:
LOGIN: (输入合法的用户名或者“ANONMOUS”):
PASSWORD: (输入合法的口令,若以“ANONMOUS”方式登录,一般不用口令):
第一节 FTP命令基础
进入想要连接的FTP站点后,用户就可以进行相应的文件传输操作了,其中一些重要 的命令及相似的命令 如下:
1)HELP、 ?、RHEIP、REMOTEHELP
HELP显示LOCAL端的命令说明,若不接受则显示所有可用命令;
?相当于HELP,例如:?CD:
RHELP同HELP,只是它用来显示REMOTE端的命令说明;
REMOTEHELP相当于RHELP。
2)ASC(ASCll)、Bm(BmARY)、IMAGE、TYPE
ASCII切换传输模式为文字模式(只能用来传送DOC文件,因为是7-BIT);
BINARY切换传输模式为二进制模式(除文字文件外皆用此模式);
IMAGE相当于BINARY:
TYPE让你更改或显示目前传输模式。
3)BYE、QUIT
BYE退出FTP:
QUIT相当于BYE。
4)CD、CDUP、LCD、P~WD、 !
CD改变当前工作目录,例如:CD\PUB;
CDUP回到上一层目录,相当于你打CD..:
LCD让你更改或显示LOCAL端的工作目录,例如:LCD\TMP;
PWD显示目前的工作目录(REMOTE端):
!让你执行外壳命令,例如:!LS。
5)DELETE、MDELETE、RENAME
DELETE删除REMOTE端的文件:
MDELETE批量删除文件,需配合?或,*
RENAME更改REMOTE端的文件名。
6)GET、MGET、PUT、MPUT、RECV、SEND
GET下传文件;
MGET批量下传文件,需配合万用字符,例如:MGET*.GZ;
PUT上传文件;
MPUT批量上传文件,需配合万用字符;
RECV相当于GET(RECV为RECEWE的简写):
SEND相当于PUT。
7)HASH、PROMPT、VERBOSE、STATUS、BELL
HASH切换#字号的出现,每一个#字号表示传送了1024/8192BYTES:
PROMPT切换iNTERACTIVEON/OFF;
VERBOSE切换所有文件传输过程的显示;
STATUS显示目前的一些参数:
BELL当指令做完时会发出叫声。
8)LS、DIR、MLS、MDIR、MKDIR、RMDIR
LS有点象UNIX下的LS(LIST)命令:
DIR相当于LS-L(LIST-LONG);
MLS只是将远端某目 录下的文件存于LOCAL端的某文件里;
MDIR相当于MLS;
MKDIR象DOS下的MD(创建子目录)一样:
RMDIR象DOS下的RD(删除子目录)一样。
9)OPEN、CLOSE、DISCONNECT、USER ·
OPEN连接某个远端FTP服务器;
CLOSE关闭目前的连接; DISCONNECT相当于CLOSE;
USER再输入一次用户名和口令(有点像UNIX下的SU)。
第二节FTP命令完全掌握
FTP命令是Intemet用户使用最频繁的命令之一,不论在DOS还在UNIX操作系统下使 用FTP,都会遇到大量的 FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便 使用者,并收到事半功倍之效。
FTP的命令行格式为:
FTP-v-d-i-n-g[主机名],其中:
—v——显示远程服务器的所有响应信息;
—n.------限制FTP的自动登录,即不使用; ,
n-----etRc文件:
-d——使用调试方式:
·g——取消全局文件名。
FTP使用的内部命令如下(中括号表示可选项):
1)[crud[args)1:在本地机中执行交互shell,exit回到FTP环境, 列如:!LS*.zip.
2)$macro-amc[args儿执行宏定义macro-name。
3)accountlpassword]:提供登录远程系统成功后访问系统资源所需的补充口令。
4)append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远系统文件名,则使用本地文件名。
5)aSCii:使用ascII型传输方式。
6)bell:每个命令执行完毕后计算机响铃—次
7)bin:使用二进制文件传输方式
8)bye..退出FTP会话过程—
9)case:在使用mget时,将远程主文件名中的大写字母转为小写字母
10)cdremote·dir:进入远程主机目录。
11)cp..进入远程主机目录的父目录。
12)chmodmodefile-name:将远程主机文件file-name的存取方式设置为mode。列如:chmod777a.OUt。
13)close:中断与远程服务器的FTP会话(与open对应)。
14)cr:使用aSSC“方式传输文件时,将回车换行转换为回行
15)deleteremote-file-删除远程主机文件:
16)debugldebug-value3:.设置调试方式,显示发送至远程主机的每条命令。例如:debup3,若设为0,表示取消debug。
17)dir[remote-dir][Local-file]:显示远程主机目录,并将结果存入本地文件local-file:
18)disconnection-.同close。
19)formformat:将文件传输方式设置为format,缺省为file方式。
20)getremote-file[10cal-file]:将远程主机的文件remote-file传至本地 硬盘的local-file。
21)glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
22)hash:每传输1024字节,显示一个hash符号(#)。
23)help[cmd]:显示FTP内部命令cmd的帮助信息,如.-helpget。
24)idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
25)image:设置二进制传输方式(同binary)。
26)LCD[DIR]:将本地工作目录切换至dir。
27)LS[remote-DIR][LOCAL-FILE]:显示远程目录remote-dir,并存入本地文local-fileo
28)macdefmacro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
29)mdelete[remote-file]:删除远程主机文件。
30)mdirremote-fileslocal-file:与dlr类似,但可指定多个远程文件。 列如mdir*.O.*.zipoutfiLe。
31)mgetremote-files:传输多个远程文件。
32)mkdirdirname:在远程主机中建一目录。
33)misremote-filelocal-file.同nlist,但可指定多个文件名。
34)mode[modename]:将文件传输方式设置为modename,缺省为stream方式。
35)modtimefile-name..显示远程主机文件的最后修改时间。 ·
36)mputlocal-file:将多个文件传输至远程主机,
37)newerfile-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间巨近,则重新传输该文件。 ·
38)nlist正remote·di41local-file3:显示远程主机目录的文件清单,并存入本地硬盘的local-fileo
39)nmap[npattem outpattem]设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmapSl.S2.S3[$1,$2][$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a20该命令特别适用于远程主机为非UNIX机的情况o
40)ntrans[Inchars[outchars]]设置文件名字符的翻译机制,如ntranslR,则文件名LLI将变为RRR。
41)openhost[port]:建立指定FTP服务器连接,可指定连接端口。
42)passive:进入被动传输方式。
43)prompt:设置多个文件传输时的交互提示。
44)proxy FTP-cmd:在次要控制连接中,执行一条FTP命令,该命令允许连接两个FTP服务器,以在两个服务器间传输文件。第一条FTP命令必须为open,以首先建立两个服务器间的连接。
45)putlocal-file[remote-file]:将本地文件local-file传送至远程主机。
46)vwd:显示远程主机的当前工作目录。
47)qmt-.同bye,退出FTP会话。
48)quote argl,arg2。。。:将参数逐字发至远程卸服务器,如:quote, syst。
49)recvremote-file[Local-file):同get。
50)reget remote-file[Local-file]:类似于get,但若local-file存在,则从上次传输中断处继续传输。
51)rhelp[cmd-name]:请求获得远程主机的帮助。
52)rstatus[FILe-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态,
53)rename[FRom)[to]:更改远程主机文件名。
54)reset:清除回答队列。
55)restart marker:从指定的标志marker处,重新开始get或put,如:restartl30。
56)rmdirdir-name:删除远程主机目录。
57)mnique:设置文件名惟一性存储,若文件存在,则在原文件后加后缀.1,.2等
58)send local-file[remote-file):同put
59)sendport:设置PORT命令的使用。
60)siteargl,arg2。。。:将参数作为SITE命令逐字发送至远程卸主机。
61)sizefile-name:显示远程主机文件大小,如:Slteidle7200。
62)stares:。显示当前FTP状态。 ·
63)struct[struct-name]:将文件传输结构设置为struct-name,缺省时使用stream结构。
64)suniclue:将远程主机文件名存储设置为惟一(与mnique对应)。
65)system:显示远程主机的操作系统类型。
66)tenex:将文件:传输类型设置为TENEX机的所需的类型
67)tick:设置传输时的字节计数器
68)trace:设置包跟踪。
69)type[type-name):设置文件传输类型为type-name,缺省为ascii,
例如:typebinary,设置二进制传输方式。
70)umask[newmask):将远程服务器的缺省umask设置为newmask。 例如:umask 3。
71)user user-name [passwordⅡaccount]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:useranonymousmy@emaiL。
72)verbose:同命令行的-v参数,即设置详尽报告方式,FTP服务器的所有响应都将显示给用户,缺省为on。
73)?[cmd]:同help。
③ ftp服务匿名用户怎么创建目录
ftp服务匿名用户创建目录 :1、您的linux系统中是否存在一个帐号叫ftp,并且判乱这个帐号存在一个主目录?如果没有,那么使用如下命令添加:
$> sudo useradd -md /var/ftp ftp
2、在pure-ftp的配置文件目录中(/etc/pure-ftpd/conf)是否存在NoAnonymous这个文件,如果不存在则创建它,确保文件中的内容为禅中no
好了,重新掘袭档启动pure-ftpd,命令:/etc/init.d/pure-ftpd restart
④ 请问在DOS下进入FTP,用什么命令可以在FTP里面新建文件夹(目录)啊
mkdirnbsp;dir-name:在远程主机中建一目录如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。nbsp;FTP的命令行格式为:nbsp;ftpnbsp;-vnbsp;-dnbsp;-inbsp;-nnbsp;-gnbsp;[主机名]nbsp;,nbsp;其中nbsp;-vnbsp;显示远程服务器的所有响应信息;nbsp;-nnbsp;限制消猜ftp的自动登录,即不使用;.nnbsp;etrc文件;nbsp;-dnbsp;使用调试方式;nbsp;-gnbsp;取消全局文件名。nbsp;FTP使用的内部命令如下(中括号表示可选项):nbsp;1.![cmd[argsamp;gt;:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zipnbsp;2.$nbsp;macro-ame[args]:nbsp;执行宏定义macro-name。nbsp;3.account[password]:nbsp;提供登录远程系统成功后租蚂访问系统资源所需的补充口令。nbsp;4.appendnbsp;local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。nbsp;5.ascii:使用ascii类型传输方式。nbsp;6.bell:每个拿型型命令执行完毕后计算机响铃一次。nbsp;7.bin:使用二进制文件传输方式。nbsp;8.bye:退出ftp会话过程。nbsp;9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。nbsp;10.cdnbsp;remote-dir:进入远程主机目录。nbsp;11.cp:进入远程主机目录的父目录。nbsp;12.chmodnbsp;modenbsp;file-name:将远程主机文件file-name的存取方式设置为mode,如:chmodnbsp;777nbsp;a.out。nbsp;13.close:中断与远程服务器的ftp会话(与open对应)。nbsp;14.cr:使用asscii方式传输文件时,将回车换行转换为回行。nbsp;15.deletenbsp;remote-file:删除远程主机文件。nbsp;16.debug[debug-value]:设置调试方式,nbsp;显示发送至远程主机的每条命令,如:debnbsp;upnbsp;3,若设为0,表示取消debug。nbsp;17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件nbsp;18.disconnection:同close。nbsp;19.formnbsp;format:将文件传输方式设置为format,缺省为file方式。nbsp;20.getnbsp;remote-file[local-file]:nbsp;将远程主机的文件remote-file传至本地硬盘的local-file。nbsp;21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。nbsp;22.hash:每传输1024字节,显示一个hash符号(#)。nbsp;23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:helpnbsp;get。nbsp;24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。nbsp;25.image:设置二进制传输方式(同binary)。nbsp;26.lcd[dir]:将本地工作目录切换至dir。nbsp;27.ls[remote-dir][local-file]:显示远程目录remote-dir,nbsp;并存入本地文件local-file。nbsp;28.macdefnbsp;macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。nbsp;29.mdelete[remote-file]:删除远程主机文件。nbsp;30.mdirnbsp;remote-filesnbsp;local-file:与dir类似,但可指定多个远程文件,如nbsp;:mdirnbsp;*.o.*.zipoutfilenbsp;。nbsp;31.mgetnbsp;remote-files:传输多个远程文件。nbsp;32.mkdirnbsp;dir-name:在远程主机中建一目录。nbsp;33.mlsnbsp;remote-filenbsp;local-file:同nlist,但可指定多个文件名。nbsp;34.mode[modename]:将文件传输方式设置为modename,nbsp;缺省为stream方式。nbsp;35.modtimenbsp;file-name:显示远程主机文件的最后修改时间。nbsp;36.mputnbsp;local-file:将多个文件传输至远程主机。nbsp;37.newernbsp;file-name
⑤ java 实现ftp上传如何创建文件夹
准备条件:java实现ftp上传用到了commons-net-3.3.jar包
首先建立ftphost连接
publicbooleanconnect(Stringpath,Stringaddr,intport,Stringusername,Stringpassword){
try{
//FTPClientftp=newFTPHTTPClient(addr,port,username,password);
ftp=newFTPClient();
intreply;
ftp.connect(addr);
System.out.println("连接到:"+addr+":"+port);
System.out.print(ftp.getReplyString());
reply=ftp.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)){
ftp.disconnect();
System.err.println("FTP目标服务器积极拒绝.");
System.exit(1);
returnfalse;
}else{
ftp.login(username,password);
ftp.enterLocalPassiveMode();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.changeWorkingDirectory(path);
System.out.println("已连接:"+addr+":"+port);
returntrue;
}
}catch(Exceptionex){
ex.printStackTrace();
System.out.println(ex.getMessage());
returnfalse;
}
}
然后再利用ftpclient的makeDirectory方法创建文件夹
publicvoidcreateDir(Stringdirname){
try{
ftp.makeDirectory(dirname);
System.out.println("在目标服务器上成功建立了文件夹:"+dirname);
}catch(Exceptionex){
System.out.println(ex.getMessage());
}
}
断开host连接
publicvoiddisconnect(){
try{
ftp.disconnect();
}catch(IOExceptione){
e.printStackTrace();
}
}
最后是程序的调用方法
publicstaticvoidmain(String[]args){
FtpUploadTestftpupload=newFtpUploadTest();
if(ftpupload.connect("","172.39.8.x",20,"administrator","abc@123")){
ftpupload.createDir("/UPLOAD");
ftpupload.disconnect();
}
}
⑥ ftp如何使用命令上传文件
在“HOME”一栏中,设置FTP 用户的根目录,即用户在成功登录之后所自动位于的起始目录。每一个用户帐号都要有自己的根目录,否则Serv-U 将拒绝该用户帐号的访问。当然,如果该帐号属于某个组,而该用户组已经设定了共同的根目录,那么用户就不必对...
⑦ linux创建ftp服务器的基本命令
快速构建FTP服务器,FTP服务器实现的基本功能是,下面就分几个步骤来搭建一个可以实现功能的简易FTP服务器。
1.安装FTP服务器
如果在安装系统时没有选择安装FTP服务器,可以通过Red Hat中的“添加/删除应用程序”进行安装。具体方法是,选择“主选单”→“”→“添加/删除应用程序”,在弹出的界面中选中FTP服务器,单击“更新”即可。
如果无法确认是否安装了该软件,可以使用以下命令查看:
2.启动FTP服务器
套用Red Hat 9.0的预设范例直接启动VSFTP。
为vsftpd启动vsftpd: [确定]
3.在/var/ftp/pub目录下创建一个名为test.txt的文件
文件内容为“This is a test file”。
4.测试
使用FTP客户端登录到本地服务器,然后以匿名身份(anonymous)登录:
# ftp 127.0.0.1Connected to 127.0.0.1 (127.0.0.1).220 (vsFTPd 1.1.3)Name (127.0.0.1:root): anonymous331 Please specify the pass.Password:230 Login successful. Have fun.Remote system type is UNIX.Using binary mode to transfer files.
这样就成功地登录到FTP服务器。可以显示服务器目录列表如下:
ftp ls227 Entering Passive Mode (127,0,0,1,63,15)drwxr-xr-x 2 0 0 4096 Dec 04 01:35 pub226 y send OK.
切换到pub目录下,并显示目录内容,可以找到刚才创建的文件test.txt:
ftp cd pub250 Directory successfully changed.ftp ls227 Entering Passive Mode (127,0,0,1,232,34)150 Here comes the directory listing.-rw-r--r-- 1 0 0 21 Dec 04 01:35 test.txt226 Directory send OK.
下载test.txt文件:
ftp mget test.txtmget test.txt? y227 Entering Passive Mode (127,0,0,1,186,210)150 Opening BINARY mode data connection for test.txt (21 bytes).226 File send OK.21 bytes received in 0.0108 secs (1.9 Kbytes/sec)
查看本机目录内容,可以看到test.txt已成功下载到本机。
ftp !lsa EIO_Binders initrd mnt proc tftpboot ylg.txtbin etc lib mymnt root tmpboot home lost+found myshare sbin usrdev id_dsas.pub misc opt test.txt var
尝试上传名为ylg.txt的文件,可以看到请求被拒绝了。
ftp put ylg.txtlocal: ylg.txt remote: ylg.txt227 Entering Passive Mode (127,0,0,1,243,10)550 Permission dend.
退出登录:
由测试可以看出,已经可以下载文件,但不能上传文件(也不能在服务器上创建目录和文件)。实际上这是一个专门提供下载服务的匿名FTP服务器。
从上面的步骤可以看出,并不需要做什么配置就可以完成一个简易FTP服务器的架设。这是因为Red Hat已经配置好一个缺省的FTP服务器。不过在实际应用中,大部分情况下这个简易的服务器并不能满足需求。
进一步配置FTP
下面将创建一个能够满足常用需求的FTP服务器。实际应用中,FTP服务器一般要同时提供和功能。此外,出于安全考虑,还需要有用户身份验证、用户权限设置及空间管理等。下面就来搭建这样一个FTP服务器。
1.创建欢迎语
如果希望使用者在进入目录时,能够看到欢迎语或对本目录的介绍,可以通过以下方法来实现。
确定/etc/vsftpd/vsftpd.conf文件中dirmessage_enable=YES,默认情况下,Red Hat 9.0有此设置。接着,在目录中新增名为.message的文件。本例在/home/ylg目录下创建一个.message文件,其内容为“欢迎来到我的 FTP站点”。
2.更换FTP服务器的默认端口
将预设的21端口改为2121,这样做是基于安全的考虑。更改方法为,使用vi打开/etc/vsftpd/vsftpd.conf:#vi /etc/vsftpd/vsftpd.conf
在文件最后增加如下一行内容:
3.取消anonymous登录的功能
在vsftpd.conf文件中找到如下一行,并将其值改为“NO”:anonymous_enable=YES
4.设定使用者不得更改目录
这样做的目的也是基于安全性的考虑。一般情况下,使用者的预设目录为/home/username。若是不希望使用者在登录后能够切换至上一层目录/home,则可通过以下设置来实现。在/etc/vsftpd/vsftpd.conf文件中找到以下三行内容:
#chroot_list_enable=YES# (default follows)#chroot_list_file=/etc/vsftpd.chroot_list
将其改为:
chroot_list_enable=YES# (default follows)chroot_list_file=/etc/vsftpd/chroot_list
新增一个文件/etc/vsftpd/chroot_list,文件内容为两个用户名:
5.针对不同的使用者限制不同的速度
假设用户ylg所能使用的最高速度为500Kb/s,用户user1所能使用的最高速度为250Kb/s,可以通过以下方法设置。在/etc/vsftpd/vsftpd.conf文件尾部新增以下一行:
增加一个名为/etc/vsftpd/userconf的目录:
在/etc/vsftpd/userconf下新增一个名为ylg的文件,其内容如下所示:
local_max_rate=500000
在/etc/vsftpd/userconf目录下新增一个名为user1的文件,其内容如下所示:
local_max_rate=250000
VSFTP对于速度的限制范围大概在80%到120%之间,也就是限制最高速度为100Kb/s,但实际的速度可能在80Kb/s到120Kb/s之间。如果频宽不足,数值会低于此限制。6.对于每一个联机用户,都以独立的进程来运行。一般情况下,在启动VSFTP时,只会看到一个名为vsftpd的进程在运行。但若是读者希望每一个联机用户都能以独立的进程来呈现,则可通过在/etc/vsftpd/vsftpd.conf文件中增加以下一行来实现:
setproctitle_enable=YES
6.保存/etc/vsftpd/vsftpd.conf文件,然后重新启动vsftpd:
7.测试刚创建的FTP服务器
以缺省方式登录会被拒绝,因为此时的默认端口号已经更改为2121,所以登录时需指定端口。
此时也不能再使用匿名方式登录:
# ftp 127.0.0.1 2121Connected to 127.0.0.1 (127.0.0.1).220 (vsFTPd 1.1.3)Name (127.0.0.1:root): anonymous331 Please specify the pass.Password:530 Login incorrect.Login failed.
如果以用户ylg则可以成功登录(指定端口2121),并显示欢迎信息:
# ftp 127.0.0.1 2121Connected to 127.0.0.1 (127.0.0.1).220 (vsFTPd 1.1.3)Name (127.0.0.1:root): ylg331 Please specify the password.Password:230-欢迎来到我的FTP站点230 Login successful. Have fun.Remote system type is .Using binary mode to transfer files.
因为在设置中设定了不能切换目录,所以下列命令无法正确执行:
550 Failed to change y.
再来测试一下上传和。首先下载服务器目录中的test.txt文件:
ftp get test.txtlocal: test.txt remote: test.txt227 Entering Passive Mode (127,0,0,1,243,215)150 Opening BINARY mode data connection for test.txt (21 bytes).226 File send OK.21 bytes received in 0.00308 secs (6.7 Kbytes/sec)
可以通过!ls命令看到本机目录中已成功下载该文件。然后上传本机目录中的ylg.txt文件到服务器:
ftp put ylg.txtlocal: ylg.txt remote: ylg.txt227 Entering Passive Mode (127,0,0,1,133,248)150 Ok to send data.226 File receive OK.19 bytes sent in 0.0401 secs (0.46 Kbytes/sec)
用ls命令查看服务器目录,会发现该文件已成功上传。
为了测试不同连机用户使用的是不同进程,可以使用ps -ef指令
⑧ 批处理通过ftp在服务器上新建文件夹和文件
批处理实现你要的功能需要两个文件
举例
第一个:
在c盘新建一个文本文件名为 1.txt,写入以下空行之间的内容
open 192.168.1.241
root
abcde
rmdir 1
mkdir 1
by
其中第一行open后面的地址为你的ftp服务器的ip
第二行为登录用户名,第三行为登录对应密码
第四行为要执行的命令,rmdir是删除名为1的目录
第五行为要执行的命令,mkdir是新建名为1的目录
第六行为退出ftp。
注意,你要执行什么命令,可以在密码之后,by之前任意添加行。
第二个文件为bat文件:
写入以下空行之间的内容
ftp -s:1.txt
执行该bat则自动登录到你指定的ftp服务器,创建目录,注意,rmdir是一个删除的范例,那句可以不要。
如果要新建文件,可在本地新建2.txt后,使用put的方式变通
在1.txt中密码后,by前加入
asc
put 2.txt
执行bat后就会在服务器上新建2.txt,asc为指定以文本方式传送文件,如果是2进制文件,请换成bin
⑨ qt实现ftp创建文件夹命令
本文实例为大家分享了QT实现FTP上传文件的具体代码,供大家参考,具体内容如下
两台电脑通过网线建立本地连接,保证网关在同一段;
服务器端打开ftp;
控制面板→程序→启用或关闭windows功能→windows功能→Internet信息服务
启用“FTP服务”FTP扩展性” IIS管理控制台”
开始屏幕的搜索中输入“IIS”,然后点击打开“IIS管理器”
打开“IIS管理器”后,在左栏的“网站”上点击右键,打开“添加FTP站点”
然后按照提示填写站点信息
点击“下一步”,按照下图提示,设置“绑定和SSL设置”,在“IP地址”处,可以用内网IP也可以用外网IP,访客自然也就根据你的IP设定来决定;
点击“下一步”,设置“身份验证和授权信息”
然后在本机浏览器地址栏中输入“ftp://填写的IP”测试一下
客户端网页测试远程访问;
客户端(另一台电脑)浏览器地址栏中输入“ftp://填写的IP”测试一下
客户端cmd测试远程访问;
win+r打开运行窗口,输入cmd
回车打开cmd命令窗口
cmd命令中输入:ftp回车
回车切换至ftp命令窗口,输入命令:open,回车提示:到
到即所要连接测试的ftp地址,我们输入:IP 22
即:ip地址+空格+端口号,没有+号
回车后弹出用户一行,输入ftp的用户名后回车,输入ftp用户名对应的密码
输入密码后回车,如果提示,user logged in就说么ftp创建无问题
客户端程序测试远程访问。
新建程序,添加ftpclass.cpp、ftpclass.h,复制main.cpp内容到程序入口函数
注意:/项目-属性-常规-字符集-使用多字节字符集/
//main.cpp
#include "stdafx.h"
#include "ftpclass.h"
void main()
{
printf("------- 开始测试!------\n");
printf("01--创建连接 %d\n", FtpClass::createConnection());
printf("02--打开目标ftp %d\n", FtpClass::createTable());
/*可以读取ini内参数
FtpClass::ftp_Ip = TEXT("Ini读取");
FtpClass::ftp_Port = TEXT("Ini读取");
FtpClass::ftp_User = TEXT("Ini读取");
FtpClass::ftp_Password = TEXT("Ini读取");
FtpClass::ftp_Fixed_Path = TEXT("Ini读取");*/
printf("03--创建文件夹 %d\n", FtpClass::createFolder("自动生成目录1","自动生成目录2","自动生成目录3"));
/*上传目标路径*/
printf("04--上传文件 %d\n", FtpClass::insert( "D:/a.txt", "b.txt"));
/*本机文件需要上传文件*/ /*上传后文件名称,可以和本地文件名称不一样,类型最好别换*/
printf("05--关闭通讯 %d\n", FtpClass::createClose());
printf("------ 结束测试!------\n");
return ;
}
//ftpclass.h
/*项目-属性-常规-字符集-使用多字节字符集*/
/*wininet.lib、shlwapi.lib可以直接添加到附加依赖项*/
/*BOOL_VERIFY、NULL_VERIFY 程序结束判断*/
#pragma once
#pragma comment(lib,"wininet.lib")
#pragma comment(lib,"shlwapi.lib")
#define BOOL_VERIFY(emStatus_bool,switch_bool) \
if (emStatus_bool == true)\
{return true;}\
else{\
if (switch_bool == 3) printf(" FTP_03_err:创建文件夹失败!%d\n"); \
if (switch_bool == 4) printf(" FTP_04_err:上传文件失败!\n"); \
if (switch_bool == 5) printf(" FTP_05_err:关闭窗口句柄失败!\n"); \
return false;\
}
#define NULL_VERIFY(emStatus_null,switch_null) \
if (emStatus_null != NULL)\
{return true;}\
else{\
if (switch_null == 1) {printf(" FTP_01_err:打开通讯错误 Error:%d\n", GetLastError());}\
if (switch_null == 2) {printf(" FTP_02_err:建立连接错误 Error:%d\n", GetLastError());}\
return false;\
}
#include "stdafx.h"//没用
#include <afxinet.h>//MFC相关
#include "wininet.h"//调用FTP相关类
#include "shlwapi.h"//调用文件操作相关类
class FtpClass
{
public:
/*ini读取变量*/
static CString ftp_Ip;//目标ip
static CString ftp_Port;//目标端口
static CString ftp_User;//目标账户
static CString ftp_Password;//目标密码
static CString ftp_Fixed_Path;//目标固定路径
static CString ftp_Free_Path;//目标自己生成路径
/*全局变量*/
static BOOL pRes;
static HINTERNET hInternet;
static HINTERNET hConnect;
/*全局函数*/
static bool createConnection(); //创建一个连接
static bool createTable();
static bool ThreadInternetConnect(PVOID )
//打开目标ftp
static bool createFolder(CString temp1, CString temp2, CString temp3); //上传文件
static bool insert(CString temp, CString temp1); //出入数据
static bool createClose(); //断开连接
};
//ftpclass.cpp
#include "stdafx.h"
#include "ftpclass.h"
CString FtpClass::ftp_Ip = TEXT("192.168.3.104");
CString FtpClass::ftp_Port = TEXT("21");
CString FtpClass::ftp_User = TEXT("Administrator");
CString FtpClass::ftp_Password = TEXT("xinxin");
CString FtpClass::ftp_Fixed_Path = TEXT("1级固定目录/2级固定目录/3级固定目录");
CString FtpClass::ftp_Free_Path = TEXT("自动生成目录");
BOOL FtpClass::pRes = false;
HINTERNET FtpClass::hInternet = NULL;
HINTERNET FtpClass::hConnect = NULL;
//创建一个连接
bool FtpClass::createConnection() {
/*ftp_Ip = TEXT("Ini读取");
ftp_Port = TEXT("Ini读取");
ftp_User = TEXT("Ini读取");
ftp_Password = TEXT("Ini读取");
ftp_Fixed_Path = TEXT("Ini读取");*/
hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT,
NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE);
NULL_VERIFY(hInternet,1);
}
bool FtpClass::ThreadInternetConnect(PVOID param) {
// 打开http
hConnect = InternetConnect(hInternet, ftp_Ip, INTERNET_DEFAULT_FTP_PORT,//INTERNET_DEFAULT_FTP_PORT 第三个参数默认值21
ftp_User, ftp_Password, INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE, 0);
return 1;
}
//打开目标ftp
bool FtpClass::createTable()
{
/*hConnect = InternetConnect(hInternet, ftp_Ip, 25,//INTERNET_DEFAULT_FTP_PORT 第三个参数默认值21
ftp_User, ftp_Password, INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE, 0);
NULL_VERIFY(hConnect,2);*/
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInternetConnect, (LPVOID)NULL, 0, NULL);
//超时3秒,如果等待结果是超时
if (WaitForSingleObject(hThread, 3 * 1000) == WAIT_TIMEOUT) {
TerminateThread(hThread, 0);
CloseHandle(hThread);
NULL_VERIFY(hConnect, 2);
}
NULL_VERIFY(hConnect, 2);
}
//上传文件
bool FtpClass::createFolder(CString temp1, CString temp2, CString temp3)
{
/*新建文件件每次只能创建一级,多个需要分多次创建*/
pRes = false;
ftp_Free_Path = "";
ftp_Free_Path = ftp_Fixed_Path + "/" + temp1;
FtpCreateDirectory(hConnect, ftp_Free_Path);
ftp_Free_Path = ftp_Free_Path + "/" + temp2;
FtpCreateDirectory(hConnect, ftp_Free_Path);
ftp_Free_Path = ftp_Free_Path + "/" + temp3;
pRes = FtpCreateDirectory(hConnect, ftp_Free_Path);
BOOL_VERIFY(pRes,3);
}
//出入数据
bool FtpClass::insert(CString temp, CString temp1)
{
pRes = false;
ftp_Free_Path = ftp_Free_Path + "/" +temp1;
pRes = FtpPutFile(hConnect, temp,/*本机文件*/
ftp_Free_Path, /*TEXT("一级目录/二级目录/三级目录/a.txt"),*/
FTP_TRANSFER_TYPE_ASCII, 0);
BOOL_VERIFY(pRes,4);
}
//断开连接
bool FtpClass::createClose()
{
pRes = false;
if (InternetCloseHandle(hConnect))
pRes = InternetCloseHandle(hInternet);
BOOL_VERIFY(pRes,5);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
⑩ CMD里 FTP的命令都有什么
在cmd中ftp命令很多,常用的主要有:
1、 ftp 192.168.1.3 登陆ftp。
2、dir 显示远程主机目录。
3、cd remote-dir:进入远程主机目录。
4、help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
5、get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file(本地文件夹)。
6、put local-file[remote-file]:将本地文件local-file传送至远程主机。
(10)ftp创建文件夹命令扩展阅读:
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。
FTP是用来在两台计算机之间传输文件,是Internet中应用非常广泛的服务之一。它可根据实际需要设置各用户的使用权限,同时还具有跨平台的特性,即在UNIX、Linux和Windows等操作系统中都可实现FTP客户端和服务器,相互之间可跨平台进行文件的传输。
因此,FTP服务是网络中经常采用的资源共享方式之一。FTP协议有PORT和PASV两种工作模式,即主动模式和被动模式。