例子,实现ftp整站上传批处理代码。
@echo off
rem 设置FTP服务器地址
set ftpIP=192.168.0.2
rem 设置FTP用户名
set ftpUser=MyUser
rem 设置FTP密码
set ftpPass=MyPass
rem 设置待上传的本地文件夹目录
set UpFolder=C:/test
rem 生成待上传的本地文件夹列表
rem www.jb200.com 脚本学堂 整理
type nul>%temp%/FolderList.txt
for /r "%UpFolder%" %%a in (.) do (
set FullName=%%a
setlocal enabledelayedexpansion
set FolderName=!FullName:%UpFolder%=!
set FolderName=!FolderName:~1,-2!
echo,!FolderName!>>%temp%/FolderList.txt
endlocal
)
>"%temp%/ftpFile.txt" echo,%ftpUser%
>>"%temp%/ftpFile.txt" echo,%ftpPass%
>>"%temp%/ftpFile.txt" echo bin
>>"%temp%/ftpFile.txt" (
for /f "usebackq tokens=*" %%a in ("%temp%/FolderList.txt") do (
echo cd /
echo mkdir "%%a"
echo cd "/%%a"
echo mput "%UpFolder%/%%a/*.*"
)
)
>>"%temp%/ftpFile.txt" echo ! rd /s /q "%UpFolder%"
>>"%temp%/ftpFile.txt" echo ! md "%UpFolder%"
>>"%temp%/ftpFile.txt" echo bye
ftp -v -i -s:"%temp%/ftpFile.txt" %ftpIP%