本人甚懒,工作时经常走神,干着干着就会上网摸鱼。为了提升工作效率,为自己设置一个番茄钟来控制行为,但我经常会打开网页逛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脚本
修改后的脚本可以在一个阶段完成后通过对话框来提示,可惜这个提示并不是强制置于最前,不一定能看到,有点鸡肋,聊胜于无吧。