我有一个批处理文件,每当我登录笔记本电脑时都会运行它。我只希望当我在雇主的网络上时执行该批处理文件。在家里,我希望该批处理文件直接退出。
有什么简单的方法可以(从批处理文件中)检测我是否在某个网络上?
答案1
一种通用方法,用于检查特定网络特征,例如特定 IP 地址、给定服务器 IP 或跟踪路由的输出。要使此方法有效,了解网络拓扑的差异并加以利用非常重要。更详细的解释需要有关问题设置的更多信息。
答案2
我可以 ping 我们的域控制器并检查是否存在错误:
ping -n 1 servername
if errorlevel 1 exit
缺点是,当它不起作用时,我必须等待超时。我希望立即得到一些结果。我愿意接受更好的建议。
答案3
我可以检查默认网关是否已设置为工作:
ipconfig | find "10.1.1.1"
if errorlevel 1 exit
答案4
在命令提示符下输入 echo %logonserver% 并查看您的域计算机是否返回作为您所连接的服务器。
事实上,这里有一个更好的方法,把它放进你的bat文件中....
@echo off
IF EXIST %logonserver% (
echo 'On LAN!'
)ELSE (
echo 'Not on LAN!'
)
希望这能有所帮助。如果您知道身份验证服务器名称,您显然可以在 if 部分添加条件相等语句来确认服务器存在,然后运行批处理文件的其余部分。当然,ELSE 部分会直接退出。