用最低的技术力,写了一个强制断网的BAT

本人甚懒,工作时经常走神,干着干着就会上网摸鱼。为了提升工作效率,为自己设置一个番茄钟来控制行为,但我经常会打开网页逛B站或者其他网站(其实把B站加到host黑名单也可以解决)。但是我没找到一款番茄钟app,是可以断开网络的。只好凭借着百度搜索断网指令结合定时指令来做一个简易的番茄钟。代码如下:
以下是BAT脚本

@echo off

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

if '%errorlevel%' NEQ '0' (

goto UACPrompt

) else ( goto gotAdmin )

:UACPrompt

echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"

echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"

exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

pushd "%CD%"

CD /D "%~dp0"

@echo off

echo 开始第一次
echo end

netsh interface set interface "本地连接" disabled 
TIMEOUT /T 1500
netsh interface set interface "本地连接" enabled 
@echo off

echo 开始第一次休息
echo end
TIMEOUT /T 300
@echo off

echo 开始第二次
echo end
netsh interface set interface "本地连接" disabled 
TIMEOUT /T 1500
netsh interface set interface "本地连接" enabled 
@echo off

echo 开始第二次休息
echo end
TIMEOUT /T 300
@echo off

echo 开始第三次
echo end
netsh interface set interface "本地连接" disabled 
TIMEOUT /T 1500
netsh interface set interface "本地连接" enabled 
@echo off

echo 开始第三次休息
echo end
TIMEOUT /T 300
@echo off

echo 开始第四次
echo end
netsh interface set interface "本地连接" disabled 
TIMEOUT /T 1500
netsh interface set interface "本地连接" enabled 
@echo off

echo 开始第四次休息
echo end

pause

以上是BAT脚本

这个脚本是25分钟断网加上5分钟休息,可以自行更改时长。可惜这个脚本没有提示功能,要是能弹出个对话框来提醒就好了,我又去百度了一圈,加入了对话框

以下是BAT脚本

@echo off

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

if '%errorlevel%' NEQ '0' (

goto UACPrompt

) else ( goto gotAdmin )

:UACPrompt

echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"

echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"

exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

pushd "%CD%"

CD /D "%~dp0"

@echo off

echo 开始第一次
echo end
mshta vbscript:msgbox("第一次工作",64,"番茄钟")(window.close)

netsh interface set interface "本地连接" disabled 
TIMEOUT /T 1500
netsh interface set interface "本地连接" enabled 
@echo off

echo 开始第一次休息
echo end
mshta vbscript:msgbox("第一次休息",64,"番茄钟")(window.close)
TIMEOUT /T 300
@echo off

echo 开始第二次
echo end
mshta vbscript:msgbox("第二次工作",64,"番茄钟")(window.close)
netsh interface set interface "本地连接" disabled 
TIMEOUT /T 1500
netsh interface set interface "本地连接" enabled 
@echo off

echo 开始第二次休息
echo end
mshta vbscript:msgbox("第二次休息",64,"番茄钟")(window.close)
TIMEOUT /T 300
@echo off

echo 开始第三次
echo end
mshta vbscript:msgbox("第三次工作",64,"番茄钟")(window.close)
netsh interface set interface "本地连接" disabled 
TIMEOUT /T 1500
netsh interface set interface "本地连接" enabled 
@echo off

echo 开始第三次休息
echo end
mshta vbscript:msgbox("第三次休息",64,"番茄钟")(window.close)
TIMEOUT /T 300
@echo off

echo 开始第四次
echo end
mshta vbscript:msgbox("第四次工作",64,"番茄钟")(window.close)
netsh interface set interface "本地连接" disabled 
TIMEOUT /T 1500
netsh interface set interface "本地连接" enabled 
@echo off

echo 开始第四次休息
echo end
mshta vbscript:msgbox("阶段完成",64,"番茄钟")(window.close)

pause

以上是BAT脚本
修改后的脚本可以在一个阶段完成后通过对话框来提示,可惜这个提示并不是强制置于最前,不一定能看到,有点鸡肋,聊胜于无吧。

2 Likes

真的,麻烦使用的朋友,在使用一段时候后,来说一下你的感受,是否坚持下来,效果如何等

看了一下番茄工作法,80年代提出来,这个真的适用于大多数人吗?还是说有更好的办法?

啊这么粗暴直接断网嘛

@dms ,投食,定制一个浏览器脚本,浏览特定网站超过指定时长就白屏或者原地爆炸

回复错了?哈哈哈:grinning_face_with_smiling_eyes:

你只是缺一个陪伴。

我以前也是这样,但有了一个非常优秀的卷王朋友在旁边坐着学习后,我一想停下学习摸鱼,就感到压力如山,根本不敢去玩。这不是外部压力,是来自内在的压力。

1 Like

摸鱼都是个人的主动行为,所以如果自己主观上无法克制摸鱼,那么任何方式都是无法阻止的。最多只是换一种形式继续摸鱼。即便不借助任何东西,我在大脑里自己给自己讲故事(或者叫胡思乱想,白日梦),这是完全无法阻挡的。

如果能控制住自己,那么随便一个番茄时钟都足够监督自己认真工作了。反正这个问题的关键并不在于工具,而在于自己。

然后提供一种思路,并不一定需要断网,毕竟有时候有一些操作还是需要依赖网络的。ahk 设定一些程序黑名单,脚本开始之后,只要监测到黑名单中的程序窗口出现,就强制关掉,如果以管理员身份运行的话,是不是连任务管理器都可以关掉?那样想结束脚本就不是那么简单了(并不)。这样即便是自己一个习惯动作,把摸鱼软件打开了,也会瞬间被关闭掉。然后脚本运行一段时间之后自动退出就好了。

浏览器直接禁用也不科学,用脚本做一个黑名单,一旦打开这些网站,就直接关闭标签页。不过脚本并不能够在所有的页面下生效,我翻看扩展市场也能打发半天时间……

以上说的黑名单也都可以换成白名单,那样限制更强。

(只要摸鱼之心不死,上述操作也只不过是自我攻防战中的一环而已

当你真正喜欢并投入到一件事,是很难走神的,只会觉得时间不够用。

纸笔写张计划清单,对自己要做的事情有个大概把握,然后挨个做完。有些持续性长的做不完,也能让你有事做,不会说闲下来想其他。

如果真的想要摸鱼(任务太难从内心就想要逃避),什么外部设备/策略都是防不住的。不过对于那种自然性的摸鱼(顺手就打开了…),这类工具可能会有些帮助。以及推荐另一个浏览器插件: Delayed Gratification - Chrome 网上应用店 (google.com),实际上就是在访问特定网站时加上一个倒计时,让自己在等待时有机会醒悟过来。

在摸鱼的时候试了下,这个插件不如改成在倒计时终止时,直接跳张鬼脸出来,我想效果应该很好((●’◡’●))

我只是在没有强制监管下(老板在、有人盯着我),一个人加班经常走神已经是一个无法控制的事情了。断网只是执行难度最低的一个方案。

逆向思维,直接开个直播,让网友云监督