标题: [文本处理] 求助:如何通过批处理自动上传文件? [打印本页]
作者: dw8201 时间: 2015-5-25 16:04 标题: 求助:如何通过批处理自动上传文件?
各位老师,我想通过批处理将目录中的2个文件存放到FTP服务器上,需要在上传时自动在FTP服务器上新建一个文件夹名称,名称取上传机器的IP,例如:上传机器IP:192.168.21.3,上传时自动在FTP服务器中建个目录“213”,如有重复的就不需要建,覆盖里面的内容就行了,这个想法能通过批处理实现吗?求指点
作者: dizimotong 时间: 2015-5-25 20:04
本帖最后由 dizimotong 于 2015-5-25 20:06 编辑
- @echo off
- setlocal
- set username= ::填写ftp用户名
- set passwd= ::填写ftp密码
- set ipadr= ::填写ftp的ip地址
- set dir_path= ::填写要上传文件的目录,注意要完整路径,如d:\aa\bb\。
-
- echo.
- echo open %ipadr% >ftp.tmp
- echo user %username% >>ftp.tmp
- echo %passwd%>>ftp.tmp
- echo mkdir 213 >>ftp.tmp
- echo cd 213 >>ftp.tmp
- for /f "tokens=*" %%a in ('dir /a-d/s/b "%dir_path%"') do (
- echo send "%%a" >>ftp.tmp
- )
- echo bye >>ftp.tmp
- ftp -n -s:ftp.tmp
- del /q /s ftp.tmp>nul
- endlocal
复制代码
其实这段代码还不算完整,一个问题是获取本机的ip地址,如果你的主机有多个网卡的话,可能很不方便,必须根据你主机的实际情况编写。你先测试一下这段代码能不能成功上传文件。
作者: dw8201 时间: 2015-5-26 08:53
回复 2# dizimotong
只有一张网卡
作者: gawk 时间: 2015-5-26 09:22
回复 3# dw8201
把以下内容全部删掉:
::
::前面的空格
::后面的文字
作者: dw8201 时间: 2015-5-26 10:04
回复 4# gawk
谢谢老师的指点,已经测试可以上传,但现在就是新建文件夹的问题,需要根据本机IP来新建,上传机器只有一个网卡,而且没有相同的IP段
作者: dizimotong 时间: 2015-5-26 11:21
本帖最后由 dizimotong 于 2015-5-26 11:23 编辑
发现一个不错的帖子可以提取多网卡的指定ip地址,你测试一下能不能成功提取ip地址。
帖子的地址是http://www.bathome.net/thread-32288-1-1.html
作者: dw8201 时间: 2015-5-26 11:34
回复 6# dizimotong
我机器只有一块网卡,不需要提取多网卡,我就是想不通要怎样让文件夹名取IP字段为名
作者: terse 时间: 2015-5-26 12:32
本帖最后由 terse 于 2015-5-26 12:39 编辑
- @echo off
- for /f "tokens=2 delims={}," %%a in ('wmic Nicconfig get IPAddress /value') do (
- for /f %%a in (%%a) do set ip=%%a
- )
- echo;%ip%
- pause
复制代码
作者: gawk 时间: 2015-5-26 12:39
回复 7# dw8201
echo mkdir %IP% >>ftp.tmp
获取IP的方法很多人已经告诉你了
作者: dw8201 时间: 2015-5-26 15:49
谢谢各位,按照各位的方法已经弄好了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |