bat 往ftp上Receive文件夹上传:
ftpServerIP:192.168.0.6
ftpUserID:admin
ftpPassword:123!
思路:
循环bat 所在的文件夹,
找出所有想上传的文件
编辑成ftp 命令 存入 uploadList.src 文件中
最后一次性执行 uploadList.src
@echo off
rem 把ftp密码存到变量pwd中,因为setlocal enabledelayedexpansion 变量延迟开启后,
rem 有一些特殊字符会无缘无故消失,这里 举例用的是 !
set "pwd=123!"
rem 开启变量延迟
setlocal enabledelayedexpansion
rem 循环当前文件夹(bat所在的文件夹)
for /F "delims=" %%i in ('dir /a-d /b') do (
if not "%%~nxi"=="%~nx0" (
rem 找到后缀为.EMS 的文件
if "%%~xi" == ".EMS" (
rem 把所有ftp 执行命令 输 到uploadList.src 文件中,这里由于上传完成之后要相应删除
rem 所以每次上传一个文件都会重新连接ftp,如果上传完成不需要删除,可以把连接ftp信息写在循环外
rem 循环里边只需要把要上传的文件命令写进去 (echo put %%i>>uploadList.src)
echo open 192.168.0.6 >uploadList.src
echo admin>>uploadList.src
echo ^!pwd!>>uploadList.src
echo bin >>uploadList.src rem 开启ftp
echo cd Receive >>uploadList.src rem 打开到要上传到的目录,即Receive
echo put %%i>>uploadList.src rem 上传命令
ECHO bye>>uploadList.src rem 结束ftp
ftp -s:uploadList.src rem ftp 执行uploadList.src中的命令
move %%i D:\BackupEms\temp\>>uploadList.src rem 删除已上传的文件
)
)
)
del uploadList.src rem 删除uploadList.src
bat 进行FTP 上传
最新推荐文章于 2024-02-04 00:56:20 发布