[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助:如何通过批处理自动上传文件?

各位老师,我想通过批处理将目录中的2个文件存放到FTP服务器上,需要在上传时自动在FTP服务器上新建一个文件夹名称,名称取上传机器的IP,例如:上传机器IP:192.168.21.3,上传时自动在FTP服务器中建个目录“213”,如有重复的就不需要建,覆盖里面的内容就行了,这个想法能通过批处理实现吗?求指点

本帖最后由 dizimotong 于 2015-5-25 20:06 编辑
  1. @echo off
  2. setlocal
  3. set username= ::填写ftp用户名
  4. set passwd= ::填写ftp密码
  5. set ipadr= ::填写ftp的ip地址
  6. set  dir_path= ::填写要上传文件的目录,注意要完整路径,如d:\aa\bb\。
  7. echo.
  8. echo open %ipadr% >ftp.tmp
  9. echo user %username% >>ftp.tmp
  10. echo %passwd%>>ftp.tmp
  11. echo mkdir 213 >>ftp.tmp
  12. echo cd 213 >>ftp.tmp
  13. for /f "tokens=*" %%a in ('dir /a-d/s/b "%dir_path%"') do (
  14. echo send "%%a" >>ftp.tmp
  15. )
  16. echo bye >>ftp.tmp
  17. ftp -n -s:ftp.tmp
  18. del /q /s ftp.tmp>nul
  19. endlocal
复制代码
其实这段代码还不算完整,一个问题是获取本机的ip地址,如果你的主机有多个网卡的话,可能很不方便,必须根据你主机的实际情况编写。你先测试一下这段代码能不能成功上传文件。

TOP

回复 2# dizimotong


只有一张网卡

TOP

回复 3# dw8201


把以下内容全部删掉:
::
::前面的空格
::后面的文字
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 4# gawk


    谢谢老师的指点,已经测试可以上传,但现在就是新建文件夹的问题,需要根据本机IP来新建,上传机器只有一个网卡,而且没有相同的IP段

TOP

本帖最后由 dizimotong 于 2015-5-26 11:23 编辑

发现一个不错的帖子可以提取多网卡的指定ip地址,你测试一下能不能成功提取ip地址。
帖子的地址是http://www.bathome.net/thread-32288-1-1.html

TOP

回复 6# dizimotong


    我机器只有一块网卡,不需要提取多网卡,我就是想不通要怎样让文件夹名取IP字段为名

TOP

本帖最后由 terse 于 2015-5-26 12:39 编辑
  1. @echo off
  2. for /f "tokens=2 delims={}," %%a in ('wmic Nicconfig get IPAddress /value') do (
  3.      for /f %%a in (%%a) do set ip=%%a
  4. )
  5. echo;%ip%
  6. pause
复制代码

TOP

回复 7# dw8201


echo mkdir %IP% >>ftp.tmp
获取IP的方法很多人已经告诉你了
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

谢谢各位,按照各位的方法已经弄好了

TOP

返回列表