感觉百度网盘是本人用过最好的网盘了。不过PC端“百度云管家”在上传大文件时,容易出现“网络异常”,然后就停止了,需要手工恢复。
为了解决这个问题,编写了以下批处理。在任务管理器里定时重复执行(比如5分钟重复一次),就能自动发现云管家停止上传(这个脚本无法区分上传和下载,因此上传的同时不要下载),重启云管家。在没有上传任务的时候,最好停掉这种定时任务,否则会导致百度云管家不断重启。
@ECHO OFF
@REM 百度云管家在上传大文件时容易中断,本脚本是为了及时发现这个问题并重启百度云管家
@REM 定时执行这个脚本即可
set _APP_=baiduyunguanjia.exe
set _PATH_=C:\Users\stoney.ORDINOV\AppData\Roaming\baidu\BaiduYunGuanjia\
REM ---------- find PID of %_APP_%
for /F "tokens=1,2" %%i in ('tasklist') do ( IF %%i==%_APP_% set _PID_=%%j)
echo %_APP_% PID=%_PID_%
REM ------------Check if _APP_ has HTTP connection ESTABLISHED --------
set _UPLOADING_=NO
for /F "tokens=1-5" %%i in ('netstat -ano') do IF "%%m"=="%_PID_%" CALL :_CHK_CONN %%l %%k
ECHO Uploading = %_UPLOADING_%
IF %_UPLOADING_%==YES ( ECHO %_APP_% Keep on uploading
) ELSE (
ECHO %DATE% %TIME% >> %~dp0%~n0.log
ECHO restarting %_APP_% >> %~dp0%~n0.log
ECHO killing %_APP_%
taskkill /F /IM %_APP_%
ECHO restarting %_APP_%
start %_PATH_%%_APP_%
)
GOTO _END
REM ---------------sub to check if HTTP conn ESTABLISHED -----------------------
:_CHK_CONN
IF NOT "%1"=="ESTABLISHED" GOTO _END
for /F "delims=: tokens=1-2" %%a in ("%2") DO if "%%b"=="80" set _UPLOADING_=YES && ECHO %2 %1
REM ---------------end of sub to check if HTTP conn ESTABLISHED -----------------------
:_END