【问题标题】:How can I write a batch file to toggle my network adapters?如何编写批处理文件来切换我的网络适配器?
【发布时间】:2012-12-13 20:21:48
【问题描述】:

在我的工作中,我可以连接到公司内部网以及 Wifi 网络。但是,我们不能在一台机器上同时连接到两个网络是公司政策。

不过,我需要在不同的时间使用任一网络,而我能够做到这一点的唯一方法是转到控制面板的网络部分中某处的“更改适配器设置”,然后禁用我使用的任何适配器m 使用(局域网或 wifi)并启用另一个。

作为一名程序员,这项任务的重复性和乏味让我感到困扰,那么我可以编写一个脚本来切换这些吗?

【问题讨论】:

标签: networking windows-7 batch-file


【解决方案1】:

你应该看看 netsh:

例如:netsh interface set interface "Local Area Connection" DISABLED

(或ENABLED

创建 2 个脚本,在您想要的一个上执行 ENABLED,在另一个上执行 DISABLED,反之亦然(或 1 个脚本首先查看哪个启动,哪个停止,然后反转)

此命令还可以列出接口的状态。

但它在几种风格的窗口之间表现不同(或使用不同的语法)......所以你也可以看看MicroSoft' devcon。或者另一种可能性:wmic

【讨论】:

  • 有没有一种很好的方法来获取它是否启用或禁用,以便只制作一个切换它的脚本?
  • hmmm,netsh 在不同版本的 windows 上表现不同。也看看microsoft' devcon。或者另一种可能性:wmic
  • 我很确定你知道设置了哪一个^^但是是的,netsh 也应该向你显示有关接口的信息。
  • 为了完整起见,我将编辑我的答案以反映我对其他可能性的评论
【解决方案2】:

您可以使用 powershell 和网络适配器命令行开关来做到这一点。

Disable-NetAdapter: PS C:> Disable-NetAdapter -Name "Ethernet 2"

Enable-NetAdapter: PS C:> Enable-NetAdapter -Name "Ethernet 2"

【讨论】:

  • 我很困惑,在我可以使用这些“命令”之前,我需要安装 powershell 吗
  • 哦,哇,这是另一个预装的外壳。从来不知道这存在。为什么会这样?
  • 它的存在是为了更好地与 .Net 对象交互并在脚本环境中运行完整的对象模型。
猜你喜欢
  • 2016-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-04
  • 2021-02-23
  • 2020-01-27
  • 1970-01-01
相关资源
最近更新 更多