工作中需要获取好多文件,而且各站用户名和密码都是不一样的,如果一个一个登陆这就比较蛋疼了。好在要获取的文件路径和文件有规律,于是就想把用户名与密码放在一个文本文件里作为配置文件来获取。下面是代码,有点长,逻辑理清了还是很好看的。根据自己需要修改代码吧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
@echo off setlocal enableextensions echo. echo 请选择下载或上传文件:1.下载 2.上传 echo. set /p c=请输入1或2: if "%c%"=="1" goto :down if "%c%"=="2" goto :up :down if exist downlog.txt (del downlog.txt) echo. echo 开始下载,日志保存为downlog.txt,文件较多,请稍候... ::读取同目录下a.txt每行的的2,3列(以空格分隔)的数据为参数传给%%i,%%j for /f "tokens=2,3 delims= " %%i in (a.txt) do ( echo. echo 正在下载%%i的文件 echo. call :download %%i %%j )>>downlog.txt echo. echo 下载完成! echo. pause goto :eof :up if exist uplog.txt (del uplog.txt) echo. echo 开始上传,日志保存为uplog.txt,文件较多,请稍候... for /f "tokens=2,3 delims= " %%i in (a.txt) do ( echo. echo 正在上传%%i的文件 echo. call :upload %%i %%j )>>uplog.txt echo. echo 上传完成! echo. pause goto :eof :download ::参数传递,call :download 传过来也就是%1=%%i,%2=%%j mkdir %1 set ftpfilename=autoftp.cfg ::以下是写入ftp命令 echo open 116.255.235.37 >"%ftpfilename%" (echo %1>>"%ftpfilename%") (echo %2>>"%ftpfilename%") echo bin >>"%ftpfilename%" echo cd wwwroot >>"%ftpfilename%" echo lcd %1>>"%ftpfilename%" echo get index.html >>"%ftpfilename%" echo get default.html >>"%ftpfilename%" echo bye >>"%ftpfilename%" ::执行ftp命令 ftp -s:"%ftpfilename%" del "%ftpfilename%" ping -n 1 127.0.0.1>nul goto :eof :upload set ftpfilename=autoftp.cfg echo open 116.255.235.37 >"%ftpfilename%" (echo %1>>"%ftpfilename%") (echo %2>>"%ftpfilename%") echo bin >>"%ftpfilename%" echo cd wwwroot >>"%ftpfilename%" echo lcd %1>>"%ftpfilename%" echo put index.html>>"%ftpfilename%" echo put default.html>>"%ftpfilename%" echo bye >>"%ftpfilename%" ftp -s:"%ftpfilename%" del "%ftpfilename%" ping -n 1 127.0.0.1>nul goto :eof |
不明白的留言交流哟~