感觉百度网盘是本人用过最好的网盘了。不过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