在Windows系统中,通过自带的FTP命令行工具结合批处理脚本,可以实现XML文件的批量自动上传,无需依赖第三方传输工具,操作简单且适配性强。

准备工作
在开始编写脚本前,需要确认以下信息:
- FTP服务器的地址、端口(默认21可省略)
- FTP登录的用户名和密码
- 本地XML文件的存放目录
- FTP服务器上接收XML文件的目标目录
编写FTP命令配置文件
首先需要创建一个FTP命令配置文件,用于告诉系统FTP连接和上传的具体操作,文件后缀可以设为.ftp。
open 192.168.0.1 user ftp_user ftp_pass cd /xml_upload_dir lcd D:local_xml_dir binary mput *.xml bye
上述配置说明:
- open 192.168.0.1:连接FTP服务器地址,替换为实际服务器IP或域名
- user ftp_user:输入FTP用户名,替换为实际用户名
- ftp_pass:输入FTP密码,替换为实际密码
- cd /xml_upload_dir:切换到FTP服务器上的目标目录,替换为实际目录
- lcd D:local_xml_dir:切换到本地XML文件存放目录,替换为实际目录
- binary:设置二进制传输模式,避免XML文件内容损坏
- mput *.xml:批量上传当前本地目录下所有XML文件
- bye:上传完成后断开FTP连接
编写Windows批处理脚本
接下来创建.bat后缀的批处理脚本,调用上面的FTP配置文件执行上传操作。
@echo off set FTP_CONFIG=D:ftp_upload.ftp set LOG_FILE=D:ftp_upload_log.txt echo 开始执行XML文件FTP批量上传 %date% %time% > %LOG_FILE% ftp -n -s:%FTP_CONFIG% >> %LOG_FILE% echo 上传执行完成 %date% %time% >> %LOG_FILE% pause
脚本参数说明:
- set FTP_CONFIG:指定之前创建的FTP配置文件的路径,替换为实际路径
- set LOG_FILE:指定上传日志的保存路径,方便后续排查问题
- ftp -n -s:%FTP_CONFIG%:-n参数禁止自动登录,-s参数指定要执行的FTP命令文件
- pause:执行完成后暂停窗口,方便查看执行结果,不需要可以删除
定时自动执行上传
如果需要定期自动上传XML文件,可以使用Windows任务计划程序配置脚本自动运行:
- 打开任务计划程序,点击创建基本任务
- 设置任务名称和描述,选择触发频率,比如每天、每小时
- 操作选择启动程序,浏览选择编写好的批处理脚本
- 完成配置后,任务会按照设定的时间自动执行上传脚本
常见问题处理
上传失败提示权限不足
检查FTP用户对目标目录是否有写入权限,同时确认本地XML文件没有被其他程序占用。
XML文件内容乱码
确认FTP传输模式设置为binary,不要用ascii模式,二进制模式可以保证文件内容完整。
批量上传漏文件
检查本地目录的XML文件后缀是否统一,mput命令的通配符是否匹配实际文件后缀,比如部分文件是.XML大写后缀,可以调整为mput *.*再过滤,或者统一文件后缀。
注意:FTP协议默认传输是不加密的,如果传输的XML包含敏感信息,建议优先使用SFTP等加密传输方式,或者使用VPN保障传输安全。
FTP批量上传XML自动传输Windows批处理bat脚本修改时间:2026-06-27 06:42:26