无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4883|回复: 11
打印 上一主题 下一主题

[求助] 检测网内目标是否在线执行不同命令求助(已解决)

[复制链接]
跳转到指定楼层
1#
发表于 2020-11-5 10:39:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 smdx 于 2020-11-7 19:32 编辑

各位高手求一个bat脚本,检测网内192.168.1.10是否在线,不在线执行命令net use * /d /y 然后结束bat;
如果在线运行 net use g: \\192.168.1.10\soft  "12345678" /user:123 命令网络驱动器映射然后结束bat。
谢谢

感谢楼下各位帮助,解决了。

做个记录:
检测网内192.168.1.10是否在线,不在线执行命令net use * /d /y 然后结束bat;
检测目标在线运行 net use g: \\192.168.1.10\soft  "12345678" /user:123 命令网络驱动器映射然后结束bat。
  1. @echo off
  2. ping 192.168.1.10 -n 1 | find "TTL"
  3. if errorlevel 1 goto Stop
  4. if errorlevel 0 goto Action
  5. exit

  6. :Stop
  7. net use * /d /y
  8. exit

  9. :Action
  10. net use y: \\192.168.1.10\Video "12345678" /user:123
  11. net use x: \\192.168.1.10\Music "12345678" /user:123
  12. net use v: \\192.168.1.10\Soft "12345678" /user:123
  13. exit
复制代码

用了两天发现这样还是不够完善又找了bat论坛的高手咨询改善了脚本,发上来有需要的可以看一下。

这次的脚本会先检测网络有没有连接上,如果没联网ping30次就退出脚本,联网了进行下一步确认映射目标机器是否在线,在线就映射分区不在线就退出脚本。
  1. @echo off
  2. ::检测网络是否连接再进行下一步
  3. :Ping
  4. ping 192.168.1.1
  5. if %errorlevel% equ 0 echo;Ping 192.168.1.1 成功&&goto :Connect
  6. set /a count+=1
  7. if %count% gtr 30 goto :Stop
  8. if %errorlevel% equ 1 goto :Ping

  9. :Connect
  10. ping 192.168.1.10 -n 1 | find "TTL"
  11. if errorlevel 1 goto Stop
  12. if errorlevel 0 goto Action
  13. exit

  14. :Stop
  15. net use * /d /y
  16. exit

  17. :Action
  18. net use * /d /y
  19. net use z: \\192.168.1.10\Video "123456" /user:123
  20. net use y: \\192.168.1.10\Music "123456" /user:123
  21. net use x: \\192.168.1.10\Driver "123456" /user:123
  22. net use w: \\192.168.1.10\Soft "123456" /user:123
  23. exit
复制代码


2#
发表于 2020-11-5 10:59:39 | 只看该作者
这种最基础的,右键搜索都能出来吧,
ping  192.168.1.10
if errorlevel 1 exit
if errorlevel 0 net use g: \\192.168.1.10\soft  "12345678" /user:123

点评

搜了一早上找不到....可能关键词没搜对。非常感谢不过测试这个命令不成功 [attachimg]467930[/attachimg]  详情 回复 发表于 2020-11-5 11:15
回复

使用道具 举报

3#
 楼主| 发表于 2020-11-5 11:15:11 | 只看该作者
本帖最后由 smdx 于 2020-11-5 11:19 编辑
江南一根葱 发表于 2020-11-5 10:59
这种最基础的,右键搜索都能出来吧,
ping  192.168.1.10
if errorlevel 1 exit

搜了一早上找不到....可能关键词没搜对。非常感谢不过运行bat测试这个命令不成功

回复

使用道具 举报

4#
发表于 2020-11-5 11:16:30 | 只看该作者
smdx 发表于 2020-11-5 11:15
搜了一早上找不到....可能关键词没搜对。非常感谢不过测试这个命令不成功

真是醉了,要用批处理啊!
你直接输命令肯定不行啊
回复

使用道具 举报

5#
 楼主| 发表于 2020-11-5 11:18:22 | 只看该作者
这个就是双击运行bat啊
回复

使用道具 举报

6#
发表于 2020-11-5 11:31:00 | 只看该作者
安卓/iOS BB发车轻量版app下载 最懂你的老司机bit.ly/3opxhVI
回复

使用道具 举报

7#
发表于 2020-11-5 12:39:47 | 只看该作者
试试这段:
  1. @echo off
  2. ping 192.168.1.10 -n 1 | find "TTL"
  3. if errorlevel 1 exit
  4. if errorlevel 0 net use g: \\192.168.1.10\soft  "12345678" /user:123
复制代码
回复

使用道具 举报

8#
发表于 2020-11-5 13:08:22 | 只看该作者
smdx 发表于 2020-11-5 11:15
搜了一早上找不到....可能关键词没搜对。非常感谢不过运行bat测试这个命令不成功

这种关键词一般是

“ping不通就运行”

点评

明白了,谢谢  详情 回复 发表于 2020-11-5 13:17
回复

使用道具 举报

9#
 楼主| 发表于 2020-11-5 13:13:23 | 只看该作者

感谢,成功了。
回复

使用道具 举报

10#
 楼主| 发表于 2020-11-5 13:17:46 | 只看该作者
江南一根葱 发表于 2020-11-5 13:08
这种关键词一般是

“ping不通就运行”

明白了,谢谢
回复

使用道具 举报

11#
发表于 2020-11-5 13:22:56 | 只看该作者
@echo off
:LanIf
ping 1.1.1.10&&goto LanOK
start 2.cmd
exit

:LanOK
ping -n 60 127.1>nul
goto LanIf

可以把ping -n 60 127.1>nul替换成 timeout /t 60

1.zip

477 Bytes, 下载次数: 2, 下载积分: 无忧币 -2

回复

使用道具 举报

12#
 楼主| 发表于 2020-11-5 14:04:08 | 只看该作者
liu_zhenfeng 发表于 2020-11-5 13:22
@echo off
:LanIf
ping 1.1.1.10&&goto LanOK

谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-27 08:10

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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