1. FTP.exe工具

ftp.exe是Windows系统提供的一个FTP客户端命令行工具。通过ftp.exe可以完成登录,显示远程文件、下载、上传、重命名、删除远程文件等操作。

1.1. 命令参数

FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [host]

  • -v 禁止显示远程服务器响应。
  • -n 禁止在初始连接时自动登录。
  • -i 关闭多文件传输过程中的交互式提示。
  • -d 启用调试。
  • -g 禁用文件名通配(请参阅 GLOB 命令)。
  • -s:filename 指定包含 FTP 命令的文本文件;命令在 FTP 启动后自动运行。
  • -a 在绑字数据连接时使用所有本地接口。
  • -A 匿名登录。
  • -x:send sockbuf 覆盖默认的 SO_SNDBUF 大小 8192。
  • -r:recv sockbuf 覆盖默认的 SO_RCVBUF 大小 8192。
  • -b:async count 覆盖默认的异步计数 3
  • -w:windowsize 覆盖默认的传输缓冲区大小 65535。
  • host 指定主机名称或要连接到的远程主机的 IP 地址。
  • mget 和 mput 命令将 y/n/q 视为 yes/no/quit。
  • 使用 Ctrl-C 中止命令。
  • 注意:一般情况,我们主要是通过ftp.exe来调用ftp命令文件,主要使用如下方式:

FTP -i -s:ftpCMD.txt

1.2. FTP命令

FTP命令可以在ftp.exe命令行环境下单个运行,也可以集成文件中,通过FTP -s:ftpCMD.txt这样的方式全部运行。以下列出所有的FTP命令。

  • ! 转义到 shell
  • delete 删除远程文件
  • literal 发送任意 ftp 命令
  • prompt 在多个命令上强制交互提示
  • ? 打印本地帮助信息
  • debug 切换调试模式
  • ls 列出远程目录的内容
  • put 发送一个文件
  • send 发送一个文件,作用同put
  • mput 发送多个文件
  • status 显示当前状态
  • append 附加至文件
  • dir 列出远程目录的内容
  • mdelete 删除多个文件
  • pwd 在远程计算机上打印工作目录
  • trace 切换数据包跟踪
  • ascii 设置 ASCII 传输类型
  • disconnect 终止 ftp 会话
  • mdir 列出多个远程目录的内容
  • quit 终止 ftp 会话并退出
  • type 设置文件传输类型
  • bell 命令完成时发出声响
  • get 接收文件
  • recv 接收文件,作用同get。
  • mget 获取多个文件
  • quote 发送任意 ftp 命令
  • user 发送新用户信息
  • binary 设置二进制传输类型
  • glob 切换本地文件名的元字符扩展
  • mkdir 在远程计算机上创建目录
  • verbose 切换详细模式
  • bye 终止 ftp 会话并退出
  • hash 为每个缓冲区传输切换打印“#”
  • mls 列出多个远程目录的内容
  • remotehelp 从远程服务器获取帮助
  • cd 更改远程工作目录
  • help 打印本地帮助信息
  • rename 重命名文件
  • close 终止 ftp 会话
  • lcd 更改本地工作目录
  • open 连接到远程 FTP
  • rmdir 在远程计算机上删除目录

1.3. 重点命令介绍

在ftpCMD.txt中编写FTP命令操作集,然后通过FTP -s:ftpCMD.txt来调用。

  • 通过prompt关闭或开启确认提示,首次调用为关闭提示,再次调用则为开启提示
  • 通过lcd命令来指定本地工作目录

lcd 本地工作目录

  • 通过get/recv下载远程文件,本地文件名如果省略则和远程文件同名

get RemoteFile [LocalFile]

  • 通过mget下载多个远程文件,远程文件至少1个,多个以空格区分,mget默认支持通配符(但是需要FTP服务,有的FTP不支持,FileZilla服务器支持通配符)

mget RemoteFiles [ …]
mget *.ini

  • 通过put/send上传本地文件,远程文件如果省略则和本地文件同名

put LocalFile [RemoteFile]

  • 通过mput上传本地文件到FTP服务器当前目录,本地文件至少1个,多个以空格区分

mput LocalFiles [ …]

  • 通过mls保存远程目录下的文件及文件夹名,远程文件如果用-代替表示所有,本地文件用-代替表示输出到屏幕

mls RemoteFiles [ …]LocalFile

  • 通过type指定传输类型,Ftp 同时支持 ASCII 和Binary两种文件传输类型。 默认的传输类型是 ASCII。在传输文本文件时应使用 ascii 命令。在 ASCII 模式中,将执行网络标准字符集间的字符转换。例如,行尾的字符在必要时根据目标操作系统进行转换。在传输可执行文件时应该使用 binary 命令。在二进制模式中,文件是按一字节为单位进行移动的。

type [TypeName]

  • quit退出FTP命令行模式进入CMD窗口

1.4. 示例

172.18.30.182是FTP服务器IP,mike是用户名,123456是密码,注意mike和123456之后不要用空格。

open 172.18.30.182
mike
123456
prompt
type binary
lcd I:\ftp_local
mls - info.txt
get a.ini
mget 1.ini 2.ini
put info.txt
mput aa.ini bb.ini
quit

如果不想另外编写FTP命令文件,可以完全用批处理操作,相当于用批处理来生成FTP命令文件,再执行FTP命令文件,执行完之后,删除FTP命令文件。

@echo off
echo open 172.18.30.182>ftp.txt
echo mike>>ftp.txt
echo 123456>>ftp.txt
echo prompt>>ftp.txt
echo lcd i:\ftp_local>>ftp.txt
echo type binary>>ftp.txt
rem FileZilla Server不支持远程文件用-表示所有文件,支持用*表示所有文件
echo mls - info.txt>>ftp.txt
echo get a.ini>>ftp.txt
echo mget 1.ini 2.ini>>ftp.txt
echo put info.txt>>ftp.txt
echo mput aa.ini bb.ini>>ftp.txt
echo quit>>ftp.txt
ftp -s:ftp.txt
del ftp.txt
pause

执行情况:

2. 自动同步

FTP主要完成同步的工作,而自动则需要使用Windows的定时任务命令行工具schtasks。
FTPSync.bat负责调用FTP命令文件

ftp -i -s:ftpCMD.txt

FTPSyncTask.bat则负责制订定时任务,如每天的8点启动

schtasks /create /tn "FTPSync" /tr “d:\FTPSync.bat" /sc daily /st 08:00:00

每月、每周、每天、每小时等更多定时任务,请参考:批处理之计划任务at和schtasks

批处理之FTP自动同步文件相关推荐

  1. DOS批处理+ftp自动同步文件

    自己电脑上的flashFXP未带自动同步文件功能,突然想到自己整个批处理文件+windows的任务实现自动同步文件! 系统:windows 环境:已安装flashFXP(版本应该没限制) 由于FTP服 ...

  2. 文档的管理计算机,如何使用FTP自动同步备份电脑文件数据?

    现在我们很多人都有电脑文件数据备份的习惯,比如备份到U盘.移动硬盘.百度网盘.服务器等,将文件备份到U盘或者移动硬盘是比较常见的,相信小伙伴们知道如何备份,但是将电脑文件备份到FTP服务器应该很多小伙 ...

  3. RSYNC 自动同步文件免密

    rsync 免密方式自动同步文件: rsync的客户端方式能够自动同步文件,非常方便,但是它在远程拷贝文件之前提示还需要输入一个密码,要实现脚本自动拷贝,必须要优化掉这个步骤,让rsync以密码文件的 ...

  4. u盘同步服务器文件,GoodSync配合U盘助你自动同步文件

    首页 > 新闻动态 GoodSync配合U盘助你自动同步文件 目前许多用户需要把文件带回家处理,保持单位和家里的文件同步非常重要.这里介绍一个自动同步文件的"机器人":Goo ...

  5. 关于用批处理写ftp上传文件

    利用批处理FTP上传文件 是益阳市局的一位朋友介绍的,不用编程就可实现文件FTP传输. 建一个批处理文件hntqyb.bat,内容为: @echo off ftp -s:sendtqyb.txt 17 ...

  6. idea 自动同步文件本地内容设置

    刚开始从eclipse转到idea,发现idea从svn同步代码后,点开一个java类报错 说是某个方法不存在,以为是别人代码没有提全,就点到别人代码里面去看,顶行出现 "File was ...

  7. ftp 自动下载文件并解压

    前几天为了工作想将Ftp文件自动下载解压然后将数据导入到excel,这样上班后就可以直接应用数据了,开始想看好多办法,比如PHP VB 等,但是最后都觉得不太好用,采用了系统自带的DOS 系命令,不过 ...

  8. linux scp 同步文件夹,Solaris下用scp自动同步文件

    1. scp同步文件脚本 //syntest.sh #!/bin/bash # Setting cdm path is used to store client software host_dir=& ...

  9. Windows 下自动同步文件夹内容到另一个文件夹下

    实现windows 使用bat脚本文件,复制文件夹到另一个盘,参考如下代码:/y是可以不显示:提示你需要覆盖一个文件,如下图: bat文件内容为 @echo off echo "使用bat脚 ...

最新文章

  1. 经典php代码,10个非常经典的php代码片段.doc
  2. 操作系统的初始化流程简图
  3. Python+Appium+POM实现APP端自动化测试
  4. (未写)tyvj-1333- Coder Space的邀请
  5. dalvik对于Java方法调用的实现
  6. 微信分享 ajax冲突,微信jssdk分享功能开发及解决ajax跨域的问题
  7. js if判断多个条件_五、if 条件判断
  8. fortran 读整行_我整周读过的最有趣的东西
  9. MFC中,多个Button响应同一个事件
  10. android 后台代码设置动画
  11. java调用数据库存储过程_Java调用SQL Server的存储过程详解
  12. Qt之FTP上传/下载
  13. Matlab数据库工具箱的简单使用
  14. java计算机毕业设计校园流浪猫图鉴管理系统的设计与实现源码+数据库+系统+lw文档+部署
  15. java nio 按行读取_JAVA之NIO按行读写大文件,完美解决中文乱码问题
  16. 什么叫ocpm、ocpc、ocpa?三种转化出价方式
  17. 前端笔记(03)——一文看懂flex布局
  18. 湖北物联网产业标准联盟成立
  19. C语言入门:华氏温度转换为摄氏温度
  20. 补充---信息安全数学基础第四章习题答案

热门文章

  1. mysqlworkbench导入excel数据屡次失败???你可能只是某个地方又智障了。没错,新手总是这么容易被智障问题绊住。(尝试3个小时总算成功了)
  2. dreamspark 注册,wp7 app hub微软手机开发者帐号(全新3步注册)
  3. c语言time_t转oletime,CTime、COleDateTime和CString之间的相互转化 | 求索阁
  4. 翻译程序的定义及其功能种类
  5. SRPG游戏开发(四十)第九章 战斗系统 - 二 计算战斗数据(Calculate Combat Data)
  6. GMM算法的个人理解
  7. i2c协议解读(附读写过程c代码)
  8. Xcode7 编译报错
  9. mysql报错In aggregated query without GROUP BY
  10. Camtasia Studio喀秋莎2021安装下载注册及使用的意外问题解决办法,值得收藏