标题: [文件操作] [已解决]BAT如何实现ftp批量上传文件? [打印本页]
作者: zhou926 时间: 2013-3-26 11:04 标题: [已解决]BAT如何实现ftp批量上传文件?
本帖最后由 zhou926 于 2013-4-16 19:13 编辑
我要将本地ftp目录下的111.txt和222.txt上传到192.168.1.2-192.168.1.10(假设这9个IP是没有规律的IP)这9台电脑上去(用户名:ftp,密码:123456,端口:235),9台电脑的ftp用户名密码都一样,用批处理怎么写啊
作者: BAT-VBS 时间: 2013-3-26 13:04
- @echo off
- setlocal enabledelayedexpansion
- set ftpUser=ftp
- set ftpPass=123456
- set ftpPort=235
- for /l %%a in (2,1,10) do (
- set ftpFile=%temp%\TempFTP_%%a.txt
-
- >"!ftpFile!" (
- echo open 192.168.1.%%a %ftpPort%
- echo,%ftpUser%
- echo,%ftpPass%
- echo bin
- echo mput 111.txt 222.txt
- echo bye
- )
- start ftp -v -i -s:"!ftpFile!"
- )
复制代码
作者: zhou926 时间: 2013-3-26 15:12
回复 2# BAT-VBS
这个IP如果是一组没有规律的IP就不能这样写吧,如果是一组没有规律的IP要怎么写?
作者: BAT-VBS 时间: 2013-3-26 15:58
回复 3# zhou926 - @echo off
- setlocal enabledelayedexpansion
- set ftpUser=ftp
- set ftpPass=123456
- set ftpPort=235
- for /f %%a in (IP.txt) do (
- set ftpFile=%temp%\TempFTP_%%a.txt
- >"!ftpFile!" (
- echo open %%a %ftpPort%
- echo,%ftpUser%
- echo,%ftpPass%
- echo bin
- echo mput 111.txt 222.txt
- echo bye
- )
- start ftp -v -i -s:"!ftpFile!"
- )
复制代码
作者: zhou926 时间: 2013-3-26 16:50
回复 4# BAT-VBS
用你的批处理跑了一下,一直报错登录失败,但是我按照批处理里的顺序在命令行输入一遍,又是没问题,那个open登录后,输入用户名和密码不是用逗号分隔吧,可能是这里的问题
作者: BAT-VBS 时间: 2013-3-26 17:03
回复 5# zhou926
把代码生成的%temp%\TempFTP_%%a.txt文件传上来看看
作者: zhou926 时间: 2013-3-26 17:40
回复 [url=http://www.bathome.net/redirect.php?goto=findp[attach]6214[/attach][attach]6214[/attach]ost&pid=128112&ptid=23243]6#[/url] BAT-VBS
作者: BAT-VBS 时间: 2013-3-26 17:44
回复 7# zhou926
文件呢?压缩一下传上来啊
作者: zhou926 时间: 2013-3-26 17:52
回复 8# BAT-VBS
[attach]6215[/attach]
作者: BAT-VBS 时间: 2013-3-26 19:00
回复 9# zhou926
不知道你上传的是什么玩意。请再看看6楼
如果你用的4楼的代码,把你的IP.txt的内容压缩一下传上来
作者: zhou926 时间: 2013-3-27 15:58
回复 10# BAT-VBS 我的IP是按这样写的
作者: BAT-VBS 时间: 2013-3-29 15:03
回复 11# zhou926
到%temp%目录下面,把代码生成的文件TempFTP_%%a.txt的内容贴出来看看。
另外,你确定是用的4楼的代码吗?
作者: zhou926 时间: 2013-3-29 16:09
回复 12# BAT-VBS
确定啊,用户名密码端口我很确定没问题,你用4楼的代码运行成功了吗
作者: BAT-VBS 时间: 2013-3-29 23:22
回复 13# zhou926
请把完整的报错信息贴出来看看,不要截图。
作者: zhou926 时间: 2013-4-2 10:19
本帖最后由 zhou926 于 2013-4-8 08:32 编辑
回复 14# BAT-VBS
你还要什么信息啊,生成的就这两个文件啊,没有其他文件了,你说的报错文件是TempFTP_%%a.txt这个文件吧
作者: CrLf 时间: 2013-4-2 20:01
本帖最后由 CrLf 于 2013-4-2 20:02 编辑
试试这样:- @echo off
- set "ftpUser=ftp"
- set "ftpPass=123456"
- set "ftpPort=235"
- setlocal enabledelayedexpansion
- for /f %%a in (IP.txt) do (
- set ftpFile=!temp!\TempFTP_%%a.txt
- >"!ftpFile!" (
- echo open %%a !ftpPort!
- echo,!ftpUser!
- echo,!ftpPass!
- echo bin
- echo put "111.txt"
- echo put "222.txt"
- echo ^^!
- )
- start ftp -v -i -s:"!ftpFile!"
- )
复制代码
作者: zhou926 时间: 2013-4-16 19:12
回复 16# CrLf
你的这段代码可以,非常感谢!!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |