风一样的男孩 发表于 2010-9-1 11:46:16

批处理清理长期未登陆会员[三种形式]

清理长期未登陆会员(不论有没有金额.bat)

@echo off
color 0A
echo #######################################################################
echo本工具用于清理长期未登陆,不论会员还有没有金额和积分。
echo运行此工具前,请先把数据库文件备份一次!
echo #######################################################################
set /p userpwd="请输入数据库访问密码:"
cls
set /P realtime="输入最后登陆时间点(年月日时分秒),格式如. 20061031211600 :"
::setlocal ENABLEEXTENSIONS
set yy=%realtime:~0,4%&set mm=%realtime:~4,2%&set dd=%realtime:~6,2%&set hh=%realtime:~8,2%&set nn=%realtime:~10,2%&set ss=%realtime:~12,2%
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
if 1%hh% LSS 20 set hh=0%hh%
if {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88
if {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00
if {%nn:~2,1%} GEQ {a} set nn=%nn:~0,2%
set /a hh=100%hh%%%100,nn=100%nn%%%100,ss=100%ss%%%100
set /a j=j*86400+hh*3600+nn*60+ss-8*60*60
::endlocal
set UPDATETM=%j0
OSQL -S localhost -U netcafe -P %userpwd%-d local -Q "select count(*) from mem_localmemberbaseinfo where updatetm <'%UPDATETM%'"
echo -------------
echo         (数字) 这里统计出符合清理条件的会员个数
echo                按任意键查看待清理会员信息。
pause >nul
OSQL -S localhost -U netcafe -P %userpwd% -d local -Q "select uniqueid from mem_localmemberbaseinfo where updatetm < '%UPDATETM%'" -o 待清理会员信息.txt
explorer.exe 待清理会员信息.txt
cls
set a=
set/p a=输入Y..开始清理会员,输入N..退出程序
if "%a%"=="y" OSQL -S localhost -U netcafe -P %userpwd%-d local -Q "delete from mem_localmemberbaseinfo where updatetm < '%UPDATETM%'"
echo 清理完成!
if "%a%"=="n" exit
echo 请按任意键退出
pause >nul

风一样的男孩 发表于 2010-9-1 11:48:44

清理长期未登陆会员(不删除有金额和积分的.bat)
@echo off
color 0A
echo #######################################################################
echo本工具用于清理长期未登陆,但不删除还有金额或者积分的会员
echo运行此工具前,请先把数据库文件备份一次!
echo #######################################################################
set /p userpwd="请输入数据库访问密码:"
cls
set /P realtime="输入最后登陆时间点(年月日时分秒),格式如. 20061031211600 :"
::setlocal ENABLEEXTENSIONS
set yy=%realtime:~0,4%&set mm=%realtime:~4,2%&set dd=%realtime:~6,2%&set hh=%realtime:~8,2%&set nn=%realtime:~10,2%&set ss=%realtime:~12,2%
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
if 1%hh% LSS 20 set hh=0%hh%
if {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88
if {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00
if {%nn:~2,1%} GEQ {a} set nn=%nn:~0,2%
set /a hh=100%hh%%%100,nn=100%nn%%%100,ss=100%ss%%%100
set /a j=j*86400+hh*3600+nn*60+ss-8*60*60
::endlocal
set UPDATETM=%j0
OSQL -S localhost -U netcafe -P %userpwd% -d local -Q "select count(*) from mem_localmemberbaseinfo where updatetm <'%UPDATETM%' and score='0' and balance ='0'"
echo -------------
echo         (数字) 这里统计出符合清理条件的会员个数
echo                按任意键查看待清理会员信息。
pause >nul
OSQL -S localhost -U netcafe -P %userpwd% -d local -Q "select uniqueid from mem_localmemberbaseinfo where updatetm < '%UPDATETM%' and score='0' and balance ='0'" -o 待清理会员信息.txt
explorer.exe 待清理会员信息.txt
cls
set a=
set/p a=输入Y..开始清理会员,输入N..退出程序
if "%a%"=="y" OSQL -S localhost -U netcafe -P %userpwd% -d local -Q "delete from mem_localmemberbaseinfo where updatetm < '%UPDATETM%' and score='0' and balance ='0'"
echo 清理完成!
if "%a%"=="n" exit
echo 请按任意键退出
pause >nul

风一样的男孩 发表于 2010-9-1 11:49:37

清理长期未登陆会员不删除有金额的删除有积分的.bat)
@echo off
color 0A
echo #######################################################################
echo本工具用于清理长期未登陆,但不删除还有金额的会员
echo运行此工具前,请先把数据库文件备份一次!
echo #######################################################################
set /p userpwd="请输入数据库访问密码:"
cls
set /P realtime="输入最后登陆时间点(年月日时分秒),格式如. 20061031211600 :"
::setlocal ENABLEEXTENSIONS
set yy=%realtime:~0,4%&set mm=%realtime:~4,2%&set dd=%realtime:~6,2%&set hh=%realtime:~8,2%&set nn=%realtime:~10,2%&set ss=%realtime:~12,2%
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
if 1%hh% LSS 20 set hh=0%hh%
if {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88
if {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00
if {%nn:~2,1%} GEQ {a} set nn=%nn:~0,2%
set /a hh=100%hh%%%100,nn=100%nn%%%100,ss=100%ss%%%100
set /a j=j*86400+hh*3600+nn*60+ss-8*60*60
::endlocal
set UPDATETM=%j0
OSQL -S localhost -U netcafe -P %userpwd% -d local -Q "select count(*) from mem_localmemberbaseinfo where updatetm <'%UPDATETM%' and balance ='0'"
echo -------------
echo         (数字) 这里统计出符合清理条件的会员个数
echo                按任意键查看待清理会员信息。
pause >nul
OSQL -S localhost -U netcafe -P %userpwd% -d local -Q "select uniqueid from mem_localmemberbaseinfo where updatetm < '%UPDATETM%' and balance ='0'" -o 待清理会员信息.txt
explorer.exe 待清理会员信息.txt
cls
set a=
set/p a=输入Y..开始清理会员,输入N..退出程序
if "%a%"=="y" OSQL -S localhost -U netcafe -P %userpwd% -d local -Q "delete from mem_localmemberbaseinfo where updatetm < '%UPDATETM%' and balance ='0'"
echo 清理完成!
if "%a%"=="n" exit
echo 请按任意键退出
pause >nul

nx2008 发表于 2011-11-4 16:40:25

此人就是一个民间高手我发现
页: [1]
查看完整版本: 批处理清理长期未登陆会员[三种形式]