将文件夹上传至ftp服务器的批处理程序怎么写
我一个文件夹下面有很多子文件夹,怎么样一次上传到FTP服务器?不是一个一个文件夹的创建然后上传的方法。要求必须是用windows的ftp命令,我知道上传一个文件可以用ft...
我一个文件夹下面有很多子文件夹,怎么样一次上传到FTP服务器?不是一个一个文件夹的创建然后上传的方法。
要求必须是用windows的ftp命令,我知道上传一个文件可以用ftp -s:"上传命令.txt"
上传命令.txt内容是
open *.*.*.*
user
password
put *
但是上传多个文件夹的呢? 展开
要求必须是用windows的ftp命令,我知道上传一个文件可以用ftp -s:"上传命令.txt"
上传命令.txt内容是
open *.*.*.*
user
password
put *
但是上传多个文件夹的呢? 展开
3个回答
展开全部
下文中用upload.txt代替”上传命令.txt“,仅仅为了书写方便。
@echo off
> upload.txt echo open *.*.*.*
>>upload.txt echo user
>>upload.txt echo password
>>upload.txt echo prompt
>>upload.txt echo mput *
for /f "tokens=*" %%i in ('dir /ad/s/b') do (echo mkdir "%%i" >> upload.txt
echo cd "%%i" >> upload.txt
echo lcd "%%i" >> upload.txt
echo mput * >> upload.txt
echo lcd >> upload.txt)
总之,用微软这个弱智的ftp命令确实是挺恶心的,还是建议用lftp或者ncftp这一类功能更强的工具。
@echo off
> upload.txt echo open *.*.*.*
>>upload.txt echo user
>>upload.txt echo password
>>upload.txt echo prompt
>>upload.txt echo mput *
for /f "tokens=*" %%i in ('dir /ad/s/b') do (echo mkdir "%%i" >> upload.txt
echo cd "%%i" >> upload.txt
echo lcd "%%i" >> upload.txt
echo mput * >> upload.txt
echo lcd >> upload.txt)
总之,用微软这个弱智的ftp命令确实是挺恶心的,还是建议用lftp或者ncftp这一类功能更强的工具。
追问
for /f "tokens=*" %%i in ('dir /ad/s/b') do (echo mkdir "%%i"
运行这句,会提示“此时不应有 %%i。”,%%i是什么意思啊?
追答
要放到批处理中运行,不能单独在命令行中执行。%%i表示循环变量,这里代表每个目录。
展开全部
你可以试试用命令行调用一个FTP客户端,将要上传的目录以命令行参数传递给该程序,由它来完成所有子目录的同步.或者去找一个叫NcFTP的命令行FTP客户端,它可以通过命令行参数完成整个目录的上传下载工作.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
echo open 192.168.1.10>ftp.txt
echo user>>ftp.txt
echo password>>ftp.txt
echo prompt>>ftp.txt
echo mput *>>ftp.txt
for /f "tokens=*" %%i in ('dir/s/b/ad') do (
echo mkdir "%%~ni" >>ftp.txt
echo cd "%%~ni" >>ftp.txt
echo lcd "%%i" >>ftp.txt
echo mput * >>ftp.txt
echo cd ..>>ftp.txt)
ftp -s:ftp.txt
echo open 192.168.1.10>ftp.txt
echo user>>ftp.txt
echo password>>ftp.txt
echo prompt>>ftp.txt
echo mput *>>ftp.txt
for /f "tokens=*" %%i in ('dir/s/b/ad') do (
echo mkdir "%%~ni" >>ftp.txt
echo cd "%%~ni" >>ftp.txt
echo lcd "%%i" >>ftp.txt
echo mput * >>ftp.txt
echo cd ..>>ftp.txt)
ftp -s:ftp.txt
追问
运行for /f "tokens=*" %%i in ('dir/s/b/ad') do (
echo mkdir "%%~ni"
会提示会提示“此时不应有 %%i。”,%%i是什么意思啊?
追答
这个要粘贴到记事本,保存为.bat文件运行才可以。
如果直接在cmd窗口下运行,把双%替换成单%才可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询