找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23859|回复: 4

[网络连接] 登陆FTP的批处理怎样根据errorlevel自动运行?

[复制链接]
发表于 2012-3-8 17:00:59 | 显示全部楼层 |阅读模式
如题,最近在编写一个公司资讯维护批处理工具,其中就有一段代码是专门用于登录FTP的,大致如下
  1. :jud_ftp
  2. net use \\10.*.*.210>NUL
  3. set ftperr=%errorlevel%
  4. if %ftperr%==0 goto jud_domain
  5. if %ftperr%==2 goto con_ftp
  6. goto run

  7. :con_ftp
  8. set/p ftpuser= 請輸入"210"的用戶名:
  9. echo  請輸入"210"的密碼:
  10. net use \\10.*.*.210 /user:%ftpuser% >nul
  11. goto jud_ftp

  12. :run
  13. .........
复制代码
我所要咨询的问题就位于第二行的:net use \\10.*.*.210>NUL
这行命令是登陆FTP的,但是执行后需要回车才能继续下去,取消>nul的话,将直接显示"密码和用户名不适用于\\10.*.*.210,请输入10.*.*.210用户名“

这里如果不回车,那么将不会出现返回值。。。

请问前辈们该如何编写才能让 第二行代码自己执行而不用回车? 得到返回值?
发表于 2012-3-8 18:48:12 | 显示全部楼层
文不对题。

net use \\10.*.*.210 <NUL >NUL
发表于 2012-3-8 18:56:56 | 显示全部楼层
既然提示输入用户名,就给它一个NULL,就搞定了
  1. net use \\10.*.*.210<NUL
复制代码
 楼主| 发表于 2012-3-8 19:39:39 | 显示全部楼层
回复 3# ivor


    呵呵,关键的问题就是:
我想让 net use \\10.*.*.210 如果执行成功就直接跳转到run

如果不成功(也就是显示 用户名密码不适合*****,请输入***之类的时候 )就自动继续往下执行返回errorlevel值~通过返回值跳转到手动输入那:

:con_ftp
set/p ftpuser= 請輸入"210"的用戶名:
echo  請輸入"210"的密碼:
net use \\10.*.*.210 /user:%ftpuser% >nul
goto jud_ftp

现在的难题就是,当net use \\****失败的时候,不会继续往下执行,光标一直停留。。。
 楼主| 发表于 2012-5-29 08:07:28 | 显示全部楼层
本帖最后由 gobi918 于 2012-5-29 08:08 编辑

實驗了無數次,終於寫出了一個滿意的:
  1. @echo off
  2. .....

  3. rem 需要訪問服務器的部份
  4. call ftplogon
  5. call \\10.*.*.210\XX.bat
  6. goto menu
  7. .....

  8. rem 210登陸模塊,全局調用:
  9. :Ftplogon
  10. cls
  11. title ※10.*.*.210服務器智能登陸※
  12. mode con cols=45 lines=12
  13. echo 匿名登陸嘗試中...
  14. echo=

  15. :Noname
  16. cls
  17. set error=
  18. echo y|net use \\10.*.*.210 2>nul 1>nul
  19. set error=%errorlevel%
  20. if "%error%" EQU "0" goto :eof
  21. if "%error%" EQU "2" goto logon

  22. :logon
  23. echo 無法匿名登錄或密碼錯誤,請手動輸入帳號密碼!
  24. echo=
  25. echo=溫馨提示:輸入 Q 可取消登錄并返回主菜單...
  26. echo=
  27. net use \\10.*.*.210\IPC$ /del 1>nul 2>nul
  28. net use \\10.*.*.210\setup /del 1>nul 2>NUL
  29. set account=
  30. set /p  account=請輸入210服務器帳號:
  31. if /i "%account%"=="Q" goto :eof
  32. echo=
  33. echo 請輸入210服務器密碼:
  34. net use \\10.*.*.210 /user:%account% 2>nul 1>nul
  35. goto Noname
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 03:28 , Processed in 0.019436 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表