bat文件以禁用以太网适配器,然后在Windows登录后重新启用它


11

登录Windows 7时,我需要等待10秒钟,然后禁用本地连接(以太网适配器),然后重新启用它。

我已经浏览了建议的答案:在bat文件中启用/禁用无线接口,但这似乎无关紧要,因为它只是切换当前状态。

据我所知,我需要包括:

netsh interface set interface "Local Area Connection" DISABLED
netsh interface set interface "Local Area Connection" ENABLED

但我不确定等待时间或Windows成功登录后如何启动。

最好的方法是什么?


2
为什么需要等待10秒钟,禁用LAN,然后重新启用它?
那个巴西人2012年

1
告诉我们潜在的问题,解决这个问题可能比弄乱界面更明智。
保罗

我使用2个TL-PA211 EOP适配器(www.tp-link.com/en/products/details/?model=TL-PA211)连接到我的家用调制解调器/路由器。问题是,每当我启动计算机时,我的以太网适配器都不会自动连接,而是看到以下内容:-i.imgur.com/weFHV.jpg –它告诉我我已连接到通常的家庭网络以及一个不明身份的网络。然后,我必须禁用我的以太网适配器并重新启用它,然后它才能连接到我通常的家庭网络-每次打开计算机时。我正在使用TL-PA2111配对应用程序,并且我的以太网驱动程序是最新的。
rlsaj 2012年

Answers:


8

使用触发器创建Windows计划任务(taskschd.mscControl Panel\System and Security\Administrative Tools\Task Scheduler):开始任务,At log on并在中的高级设置延迟任务中30 seconds。然后将动作添加到Start a program并选择.bat脚本。


20

我希望这有帮助

@echo on
timeout /t 10
netsh interface set interface "Local Area Connection" DISABLED
timeout /t 10
netsh interface set interface "Local Area Connection" ENABLED

因为只是我想要的东西而被投票支持,我需要在开机和关机之间有2秒的延迟,并且没有初始延迟,因为有时我的卡在启动时拒绝建立连接,所以我在桌面上有一个方便的蝙蝠文件
限制器

1

逻辑是:ping公共ip(google dns 8.8.8.8),如果ping失败,则转到:RESTART并重新启动名称为“ LAN”的网络适配器,此循环从头开始(如果ping正常,则不执行任何操作)并在循环中ping以检查适配器是否已连接到互联网)

   @echo off 

    :LOOP
    ping 8.8.8.8
    IF ERRORLEVEL 1 goto RESTART
    IF ERRORLEVEL 0 goto LOOP
    :RESTART
    netsh interface set interface "LAN" disabled
    ping -n 3 127.0.0.1
    netsh interface set interface "LAN" enabled
    ping -n 15 127.0.0.1
    goto LOOP

就像您放入循环的逻辑一样!
科林

0

谢谢你们,

我正在使用此命令来禁用和启用有问题的WiFi网络适配器;

> @echo on
> timeout /t 10
> netsh interface set interface "Wi-Fi" DISABLED
> timeout /t 2
> netsh interface set interface "Wi-Fi" ENABLED

欢迎来到超级用户!这将重复另一个答案,并且不添加任何新内容。除非您确实有新的贡献,否则请不要发布答案。
DavidPostill

0

这里非常有用的信息,但是答案中缺少的一项是在“局域网”中输入的内容。我遇到了这个答案:

“第一步是找到您的无线连接的名称。[右键单击WiFi符号]>打开“网络和共享中心”>更改适配器设置。这是连接信息的第一行。我只是简单地说了Wi-Fi,但可能是无线网络连接,等等。”

顺便说一句,如果它是LAN网卡,我相信您只需要查找该设备的名称即可。

这是使它对我有用的关键。


1
实际上,问题在于以太网。
G-Man说'恢复莫妮卡'

0
echo off
cls 
:start
echo Choice 1
echo Choice 2
set /p choice=Yes or No?
if '%Choice%'=='1' goto :choice1
if '%Choice%'=='2' goto :choice2
echo "%Choice%" is not a valid option. Please try again. 
echo
goto start
:choice1
netsh interface set interface "Ethernet" admin=Enable
goto end 
:end
pause
exit  
:choice2
netsh interface set interface "Ethernet" admin=disable
goto end 
:end
pause
exit 

我认为您的答案还需要一些说明,以便更好地理解,并且还将围绕问题进行反映。
Rajesh S

-1

对帮助建立循环的善良灵魂的支持。我对其稍作更改,因为它拒绝在SP3上运行。以下是根据上面提供的代码更新的禁用/启用功能!

@回声关闭

:LOOP
ping 8.8.8.8
IF ERRORLEVEL 1 goto RESTART
IF ERRORLEVEL 0 goto LOOP
:RESTART
devcon disable "PCI\VEN_1317&*"
ping -n 3 127.0.0.1
devcon enable "PCI\VEN_1317&*"
ping -n 15 127.0.0.1
goto LOOP

尽管这确实需要devcon起作用,但这是Microsoft提供的易于使用的工具,并且在启用或禁用麻烦的适配器方面做得更加干净。

http://thilina.piyasundara.org/2011/06/enabledisable-lan-interface-by-command.html展示了如何做到这一点。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.