标题: [网络连接] [已解决]用bat如何判断局域网内的某个机器10.10.127.x,是否存在共享目录呢? [打印本页]
作者: ygqiang 时间: 2012-5-31 13:39 标题: [已解决]用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,是否存在共享目录呢?
作者: ygqiang 时间: 2012-5-31 15:08
- echo %minip%
- :取到变量minip 后 分离IP地址。然后循环+1
-
-
- set a=%minip%
- for /f "tokens=1,2,3 delims=." %%i in ("%a%") do set s=%%i.%%j.%%k
- for /f "tokens=4 delims=." %%i in ("%a%") do set d=%%i
- set c=%d%
- set /a d=%d%+50
-
- for /l %%i in (%c%,1,%d%) do (
- ping %s%.%%i -n 1 -w 300 >nul 2>nul && 00-00robocopy "d:\0beifen\newsoft" "\\%s%.%%i\soft\newsoft" /mir /w:1 /r:1
- )
复制代码
这个代码,基本可以满足要求。
但有个地方需要修改下。
就是只有ping通的,才计数(因为有的ip是无法ping通,也就不可能存在共享目录),一直计数到20个 才执行完毕。
set c=%d%
set /a d=%d%+50
如何修改?
作者: apang 时间: 2012-5-31 16:28
是这个意思吗?- @echo off
- echo Waiting...
- for /l %%a in (12 1 227) do (
- ping 10.10.127.%%a -n 1 -w 300 >nul && (
- if exist "\\10.10.127.%%a\soft\newsoft\" (
- echo 10.10.127.%%a 存在共享目录
- )
- )
- )
- pause
复制代码
作者: ygqiang 时间: 2012-5-31 16:57
- :end
-
- echo %minip%
- :取到变量minip 后 分离IP地址。然后循环+1
-
- set minip1=%minip%
-
-
-
-
-
-
- ::设置循环次数
- set x=20
-
- ::提取IP段数据
- for /f "tokens=1-4 delims=." %%a in ("%minip1%") do (
- set ips=%%a.%%b.%%c
- set n=%%d
- )
- ::变量Y清零,然后调用循环代码
- set y=&call :loop
-
- ::退出批处理
-
- ping 127.0.0.1 -n 600
-
-
- goto :nextaaa
-
-
-
- ::循环调用代码
- :loop
- set /a n+=1
- ping -n 1 -w 300 %minip1% >nul 2>Nul||goto :loop
- 00-00robocopy "d:\0beifen\newsoft" "\\%minip1%\soft\newsoft" /mir /w:2 /r:2
- set /a y+=1
- if "%y%"=="%x%" goto :eof
- goto :loop
复制代码
已解决。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |