请求编写本地Excel文件上传至FTP服务器的.bat批处理脚本
请求编写本地Excel文件上传至FTP服务器的.bat批处理脚本
嘿,我来帮你搞定这个批处理脚本!结合你手动拖放能成功的情况,下面是两种靠谱的实现方式,你可以根据自己的FTP服务器配置来选:
方法一:使用Windows内置FTP命令(无需额外工具)
这种方法依赖系统自带的ftp命令,不需要安装任何第三方软件,兼容性拉满。
步骤1:创建FTP命令配置文件
先新建一个文本文件,命名为ftp_commands.txt,把下面内容复制进去,务必替换成你自己的FTP信息:
open ftp.your-server.com # 替换成你的FTP服务器地址,比如 ftp.example.com your-ftp-username # 替换成你的FTP登录用户名 your-ftp-password # 替换成你的FTP登录密码 cd /target/folder/on/ftp # 替换成你要上传到的FTP目标文件夹(直接传根目录就删掉这行) binary # 必须开启二进制模式,防止Excel文件损坏 put "C:\Users\YourName\Documents\your-excel-file.xlsx" # 替换成本地Excel文件的完整路径 quit
步骤2:编写批处理脚本
再新建一个批处理文件,命名为upload_excel_to_ftp.bat,内容如下:
@echo off chcp 65001 >nul # 解决中文路径乱码问题(可选) echo 正在上传Excel文件到FTP服务器... ftp -s:ftp_commands.txt if %errorlevel% equ 0 ( echo 文件上传成功! ) else ( echo 上传失败,请检查FTP配置或文件路径! ) :: pause # 如果不需要运行后停留窗口,就删掉这行
方法二:使用curl命令(更简洁,适合Windows 10/11)
Windows 10及以上版本自带curl工具,脚本会更简洁,还能直观看到上传进度:
@echo off chcp 65001 >nul :: 配置参数,替换成你自己的信息 set "LOCAL_EXCEL=C:\Users\YourName\Documents\your-excel-file.xlsx" set "FTP_UPLOAD_PATH=ftp://ftp.your-server.com/target/folder/on/ftp/" set "FTP_USER=your-ftp-username" set "FTP_PASS=your-ftp-password" echo 开始上传Excel文件... curl -T "%LOCAL_EXCEL%" "%FTP_UPLOAD_PATH%" -u %FTP_USER%:%FTP_PASS% --progress-bar if %errorlevel% equ 0 ( echo. echo 上传完成! ) else ( echo. echo 上传出错,请检查配置! ) :: pause
关键注意事项
- 文件损坏规避:Excel是二进制格式,一定要用二进制模式上传(方法一里的
binary命令,curl会自动处理二进制),用ASCII模式会导致文件无法打开。 - 密码安全性:上面的脚本密码是明文存储的,如果担心安全,你可以:
- 若服务器支持,开启FTP匿名上传,删掉用户名密码相关配置
- 改用SFTP协议(需要额外工具比如WinSCP命令行版本),不过你手动拖放能用普通FTP的话,上面的方法完全够用
- 任务计划适配:你已经会用Windows任务计划啦,只要把这个bat脚本添加进去即可,注意给任务分配足够权限,确保它能访问到本地Excel文件,且运行时网络正常。
备注:内容来源于stack exchange,提问作者Sylvia
相关产品推荐
相关产品推荐

