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

[网络连接] [已解决]用bat如何判断局域网内的某个机器10.10.127.x,是否存在共享目录呢?

本帖最后由 ygqiang 于 2012-5-31 16:58 编辑

同一个局域网内,都是xp系统

ip地址是:10.10.127.x    x值是从12到227

有的机器可以打开\\10.10.127.x\soft\newsoft共享目录,
有的机器不能打开\\10.10.127.x\soft\newsoft共享目录


用bat如何判断局域网内的某个机器10.10.127.x,是否存在共享目录呢?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. :end
  2. echo %minip%
  3. :取到变量minip 后  分离IP地址。然后循环+1
  4. set minip1=%minip%
  5. ::设置循环次数
  6. set x=20
  7. ::提取IP段数据
  8. for /f "tokens=1-4 delims=." %%a in ("%minip1%") do (
  9. set ips=%%a.%%b.%%c
  10. set n=%%d
  11. )
  12. ::变量Y清零,然后调用循环代码
  13. set y=&call :loop
  14. ::退出批处理
  15. ping 127.0.0.1 -n 600
  16. goto :nextaaa
  17. ::循环调用代码
  18. :loop
  19. set /a n+=1
  20. ping -n 1 -w 300 %minip1% >nul 2>Nul||goto :loop
  21. 00-00robocopy "d:\0beifen\newsoft" "\\%minip1%\soft\newsoft" /mir /w:2 /r:2
  22. set /a y+=1
  23. if "%y%"=="%x%" goto :eof
  24. goto :loop
复制代码
已解决。

TOP

是这个意思吗?
  1. @echo off
  2. echo Waiting...
  3. for /l %%a in (12 1 227) do (
  4.   ping 10.10.127.%%a -n 1 -w 300 >nul && (
  5.     if exist "\\10.10.127.%%a\soft\newsoft\" (
  6.        echo 10.10.127.%%a 存在共享目录
  7.     )
  8.   )
  9. )
  10. pause
复制代码
1

评分人数

TOP

  1. echo %minip%
  2. :取到变量minip 后  分离IP地址。然后循环+1
  3. set a=%minip%
  4. for /f "tokens=1,2,3 delims=." %%i in ("%a%") do set s=%%i.%%j.%%k
  5. for /f "tokens=4 delims=." %%i in ("%a%") do set d=%%i
  6. set c=%d%
  7. set /a d=%d%+50
  8. for /l %%i in (%c%,1,%d%) do (
  9. ping %s%.%%i -n 1 -w 300 >nul 2>nul && 00-00robocopy "d:\0beifen\newsoft" "\\%s%.%%i\soft\newsoft" /mir /w:1 /r:1
  10. )
复制代码
这个代码,基本可以满足要求。

但有个地方需要修改下。

就是只有ping通的,才计数(因为有的ip是无法ping通,也就不可能存在共享目录),一直计数到20个  才执行完毕。

set c=%d%
set /a d=%d%+50


如何修改?

TOP

返回列表