[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
要使用邮件的话,用GMAIL吧,GMAIL可以实现远程关机。
http://tech.ddvip.com/2008-09/122023988859093.html
自从Gmail推出后,各种功能的插件不断被牛人们开发出来。今天笔者就为大家推荐一款名为“Gmail Romote Command”的软件,利用它我们可以发送特定的指令邮件到指定的GMAIL邮箱来控制我们的电脑。

TOP

代码有点长,分作两段了。
代码一:
  1. @echo off&setlocal enabledelayedexpansion
  2. title OE收件箱监控与主题提取工具
  3. echo.
  4. echo.
  5. echo.
  6. echo                          OE收件箱监控与主题提取工具
  7. echo                                  设置选项
  8. echo                              by cjiabing   cmd@xp
  9. echo.
  10. echo.
  11. echo        时间控制:设置程序自动循环的时间。默认是300(约5分钟)。
  12. set /p timec=       时间设置:
  13. if defined timec (goto set) else (set timec=300)
  14. :set
  15. echo.&set /p email=       是否设置自动发送邮件?(y/n)
  16. if %email%==y call :mail
  17. echo.&echo        执行程序:添加随程序执行的程序。默认是执行收件指令的batbot001.bat。
  18. set /p Performer=       程序设置:
  19. if defined Performer (goto set1) else (goto set2)
  20. exit
  21. :set1
  22. setlocal enabledelayedexpansion
  23. set rdm=%random%
  24. for /f "skip=48 tokens=*" %%a in ('type %0') do echo %%a>>OETool^!rdm^!.bat
  25. echo start ^"^"  batbot001^.bat>>OETool^!rdm^!.bat
  26. echo start ^"^"  %Performer%>>OETool^!rdm^!.bat
  27. echo ping ^/n 5 127^.0^.1^>nul>>OETool^!rdm^!.bat
  28. echo goto ^:eof>>OETool^!rdm^!.bat
  29. echo.&echo        退出设置并开始执行程序&pause>nul
  30. start "" OETool^!rdm^!.bat&exit
  31. :set2
  32. setlocal enabledelayedexpansion
  33. set rdm=%random%
  34. for /f "skip=48 tokens=*" %%a in ('type %0') do echo %%a>>OETool^!rdm^!.bat
  35. echo start ^"^"  batbot001^.bat>>OETool^!rdm^!.bat
  36. echo ping ^/n 5 127^.0^.1^>nul>>OETool^!rdm^!.bat
  37. echo goto ^:eof>>OETool^!rdm^!.bat
  38. echo.&echo        退出设置并开始执行程序&pause>nul
  39. start "" OETool^!rdm^!.bat&exit
  40. :mail
  41. echo.&echo        发件设置:设置程序自动发送邮件。默认不发送。
  42. set /p smtp=       SMTP/POP3(如:smtp.qq.com):
  43. set /p sender=       发送邮箱地址(如:cjiabing@qq.com):
  44. set /p recive=       接收邮箱地址(如:cjiabing@qq.com):
  45. set /p pword=       发件邮箱密码(如:123456):
  46. set /p subj=       邮件标题(如:cjiabing@qq.com):
  47. set /p cont=       邮件内容文本路径:(如:C:\body.txt)
  48. goto :eof
  49. @echo off&setlocal enabledelayedexpansion
  50. call :prsk
  51. :start
  52. echo.
  53. echo.
  54. echo                          OEInboxtool  V3.1(通用版)
  55. echo                              by cjiabing   cmd@xp
  56. echo.
  57. echo.
  58. echo.
  59. echo     ※本工具需要Outlook Express、base64、blat等第三方工具支持。
  60. echo     ※请事先设置好Outlook Express邮箱,默认是三十分钟接收一次邮件。
  61. echo     ※用另外一个邮箱的标题(主题)发送命令,命令中含有特殊符号的需要在前面添加转义符^^。
  62. echo     ※如【shutdown -s -t 3000】、【start "" "%ProgramFiles%\TTPlayer\TTPlayer.exe" 】
  63. echo     ※工具只识别标题,不识别内容,且标题的字数和格式受限。建议按照标准程式发件。
  64. echo     ※工具尚在测试期,发送del之类的命令时需三思而后行。禁止用于非法目的和行为。
  65. echo.
  66. echo.
  67. ping /n 5 127.0.1>nul
  68. call :try
  69. set jici=0
  70. :loop
  71. set /a jici+=1
  72. ping /n ^!timec^!  127.0.1>nul
  73. echo.
  74. echo                             ——开始第“%jici%”轮任——
  75. echo.
  76. call :sub
  77. if %jici%==1  if exist Readmessages.txt type Readmessages.txt>>Readmessageslog.txt&del Readmessages.txt
  78. if exist Readmessages.txt  (
  79. call :old
  80. call :fct
  81. call :bbot
  82. )
  83. echo.
  84. if not exist  Readmessages.txt  call :bbot1
  85. IF errorlevel 0  (echo             【第“%jici%”轮任务完成,将重新开始任务,退出请直接关闭】) else (echo no^!^!)
  86. echo.
  87. echo ——————————————————————————————————————
  88. if %jici% lss 13 goto loop
  89. taskkill /f /t /im msimn.exe
  90. call send
  91. call :prsk
  92. goto new
  93. del %0 /f /q
  94. exit
  95. :try
  96. if  exist "%ProgramFiles%\Outlook Express\msimn.exe" start "" "%ProgramFiles%\Outlook Express\msimn.exe"
  97. ping /n 10 127.0.1>nul
  98. echo.
  99. echo                             ……初始检测……
  100. if not exist "%ProgramFiles%\Outlook Express\msimn.exe" echo     对不起,找不到你的Outlook Express程序!&ping /n 5 127.0.1>nul&exit
  101. if not exist base64.exe echo     对不起,找不到你的base64.exe程序!&ping /n 5 127.0.1>nul&exit
  102. if not exist "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx" echo     对不起,找不到Outlook Express的收件箱!&ping /n 5 127.0.1>nul&exit
  103. start "" "%ProgramFiles%\Outlook Express\msimn.exe"
  104. IF errorlevel 0  echo                             ……初始检测……ok
  105. ping /n 5 127.0.1>nul
  106. goto :eof
  107. :sub
  108. if  exist "%ProgramFiles%\Outlook Express\msimn.exe" start "" "%ProgramFiles%\Outlook Express\msimn.exe"&ping /n 30 127.0.1>nul
  109. if %jici%==1  taskkill /f /t /im msimn.exe
  110. ping /n 5 127.0.1>nul
  111. echo.
  112. echo                             ……提取邮箱信息……
  113. del 收件箱.dbx,firstinbox.txt,editinbox.txt,subjectr.txt>nul 2>nul 1>nul
  114. if %jici%==1  (move "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx"   %cd%) else (copy "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx"   %cd%)
  115. ren %cd%\收件箱.dbx  firstinbox.txt
  116. for /f "tokens=*" %%a  in ('type firstinbox.txt') do echo %%a>>editinbox.txt
  117. for /f "tokens=2*" %%a in ('findstr /i /b "Subject" editinbox.txt') do echo %%a %%b>>subjectr.txt
  118. del firstinbox.txt,editinbox.txt
  119. if not exist subjectr.txt echo 收件箱没有邮件 &goto :eof
  120. echo.>newitems.txt
  121. findstr /v "^=?gbk?B?" subjectr.txt>>newitems.txt
  122. setlocal enabledelayedexpansion
  123. set numt1=0
  124. findstr  "^=?gbk?B?" subjectr.txt>nul
  125. IF errorlevel 0 goto gbkb
  126. goto :eof
  127. :gbkb
  128. for /f "tokens=*" %%i in ('findstr  "^=?gbk?B?" subjectr.txt') do (
  129. set /a numt1+=1
  130. echo ^!numt1^!>nul
  131. set fjmmd=%%i&echo ^!fjmmd^:^~8^,400^!^>subjectrjm1^!numt1^!^.txt
  132. base64 -d -i subjectrjm1^!numt1^!^.txt -o subjectrjm2^!numt1^!^.txt
  133. for /f "tokens=*" %%x in (subjectrjm2^!numt1^!^.txt) do echo %%x>>newitems.txt
  134. del subjectrjm2^!numt1^!.txt,subjectrjm1^!numt1^!^.txt
  135. )
  136. del subjectr.txt
  137. IF errorlevel 0  (echo                             ……提取邮件与邮件解码……ok) else (echo no^!^!)
  138. ping /n 5 127.0.1>nul
  139. goto :eof
复制代码

TOP

代码二:
  1. :old
  2. echo                             ……整理邮件……
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%a in (Readmessages.txt) do (
  5. set jjd=%%a
  6. if defined jjd (goto old2) else (echo echo nul>mReadmessages.txt&goto old3)
  7. )
  8. goto old3
  9. :old2
  10. echo.>mReadmessages.txt
  11. for /f "delims=" %%a in ('sort Readmessages.txt') do (
  12. set cav=%%a
  13. if not ^!cav^! equ ^!vb^! echo ^!cav^!>>mReadmessages.txt
  14. set vb=%%a
  15. )
  16. del Readmessages.txt
  17. :old3
  18. echo.>mnewitems.txt
  19. for /f "delims=" %%a in ('sort newitems.txt') do (
  20. set xav=%%a
  21. if not ^!xav^! equ ^!vbm^! echo ^!xav^!>>mnewitems.txt
  22. set vbm=%%a
  23. )
  24. del newitems.txt
  25. IF errorlevel 0  (echo                             ……整理邮件……ok) else (echo no^!^!)
  26. ping /n 5 127.0.1>nul
  27. goto :eof
  28. :fct
  29. echo                             ……提取未读新邮件……
  30. cd.>mUnreadMail.txt
  31. @echo off&setlocal enabledelayedexpansion
  32. for /f "tokens=*" %%a in (mReadmessages.txt) do (
  33. set 1var=%%a
  34. for /f "tokens=*" %%i in (mnewitems.txt) do set 2var=%%i
  35. if not ^!2var^!==^!1var^! echo ^!2var^!>>mUnreadMail.txt
  36. IF errorlevel  0  (echo ok) else (echo Failure)
  37. )
  38. echo.>UnreadMail.txt
  39. for /f "delims=" %%a in ('sort mUnreadMail.txt') do (
  40. set xae=%%a
  41. if not ^!xae^! equ ^!vbn^! echo ^!xae^!>>UnreadMail.txt
  42. set vbn=%%a
  43. )
  44. del mUnreadMail.txt
  45. if exist mnewitems.txt ren mnewitems.txt newitems.txt
  46. if exist mReadmessages.txt ren mReadmessages.txt Readmessages.txt
  47. if exist UnreadMail.txt type UnreadMail.txt>>Readmessages.txt
  48. type Readmessages.txt>>Readmessageslog.txt
  49. IF errorlevel 0  (echo                             ……提取新的未读邮件……ok) else (echo no^!^!)
  50. echo.
  51. ping /n 5 127.0.1>nul
  52. goto :eof
  53. :send
  54. echo.
  55. echo                             ……发送邮件……
  56. echo    请事先设置一个文本文件,把信件内容写入,再设置路径。你可以使用txt被动发件,也可以通过命令使用bat发件。
  57. ::call "%ProgramFiles%\WinRAR\RAR.exe"  a  "%userprofile%\桌面\123456.rar"  npslist.txt pslist.txt runn.txt runr.txt
  58. cd !cd!
  59. blat -install !smtp!  !sender!
  60. blat  !cont!  -to !recive!  -u  !sender!   -base64 -charset Gb2312 -pw !pword!  -subject  !subj!
  61. ::-attach
  62. IF errorlevel 0  (echo                             ……发送邮件……ok) else (echo no^!^!)
  63. echo.
  64. ping /n 5 127.0.1>nul
  65. goto :eof
  66. :prsk
  67. echo ^!%0^!
  68. title ^!%0^!
  69. cd.>prstkill.txt
  70. for /f "usebackq skip=3 tokens=2" %%p in (`tasklist /fi "windowtitle eq ^!%0^!"`) do set prs2=%%p
  71. for /f "usebackq skip=1 delims=" %%p in (`"wmic process where(name="cmd.exe") get ProcessId"`) do (
  72. echo %%p |findstr /v "^!prs2^!">>prstkill.txt
  73. )
  74. for /f %%a in (prstkill.txt) do taskkill /f /t /pid %%a
  75. del prstkill.txt
  76. ping /n 5 127.0.1>nul
  77. goto start
  78. :new
  79. title ^!^%0^!
  80. echo                             ……程序再生……
  81. echo.
  82. echo                    本程序任务完成,自动打开程序副本继续任务!
  83. echo.
  84. set numc=%random%
  85. copy %0 %cd%\outlooktool%numc%.bat
  86. start "" %cd%\outlooktool%numc%.bat
  87. goto :eof
  88. :bbot1
  89. ren newitems.txt  Readmessages.txt
  90. echo @echo off>batbot001.bat
  91. for /f "tokens=*" %%a in (Readmessages.txt) do echo %%a>>batbot001.bat
  92. echo ping /n 10 127.0.1^>nul>>batbot001.bat
  93. echo exit>>batbot001.bat
  94. echo start ^"^"  batbot001^.bat>>OETool^!rdm^!.bat
  95. echo if exist %Performer% start ^"^"  %Performer%>>OETool^!rdm^!.bat
  96. echo ping ^/n 5 127^.0^.1^>nul>>OETool^!rdm^!.bat
  97. echo goto ^:eof>>OETool^!rdm^!.bat
  98. goto :eof
  99. :bbot
  100. echo @echo off>batbot001.bat
  101. if exist UnreadMail.txt for /f "tokens=*" %%a in (UnreadMail.txt) do echo %%a>>batbot001.bat
  102. echo ping /n 10 127.0.1^>nul>>batbot001.bat
  103. echo exit>>batbot001.bat
复制代码

TOP

看了全部内容,不过觉得实现方法有些麻烦
我倒是有个建议,QQ签名倒是可以利用,目前的手机一般都能够上Q的,可以利用VBS读取自己的签名设置,然后根据签名设置内容进行相应操作

TOP

回复 19楼 的帖子

据说有的手机QQ不能改签名
Do All in Command Line

TOP

VBS利用QQ签名远程控制电脑,注意修改其中的配置部分代码
  1. '/*////////////////////配置//////////////
  2. Dim CMDStr(3)
  3. QQUIN="397607622" '用来控制电脑的QQ号
  4. '自定义指令消息
  5. CMDStr(0)="关机"
  6. CMDStr(1)="显示消息"
  7. CMDStr(2)="测试"
  8. '/*//////////////////////////////////////
  9. 'ON ERROR RESUME NEXT
  10. Set HTTP=wscript.createobject("Microsoft.XMLHTTP")
  11. Set ASO=CreateObject("ADODB.Stream")
  12. Sub CheckCmdLine
  13. EmotURLStr=GetURLCode("http://taotao.qq.com/vc1/qz_space/def?uin="&QQUIN)
  14. EmotStr=MyRegExp("item_text"">\s+(.*)\s+</div>",EmotURLStr) '获取最后的心情签名
  15. Select Case EmotStr
  16. Case CMDStr(0)
  17.   '关机:
  18.   'ShutDownWindow
  19. Case CMDStr(1)
  20.   '自定义函数
  21. Case CMDStr(2)
  22.   '自定义函数
  23. End Select
  24. Wscript.Sleep 30000 '大约30S重复检测QQ签名设置
  25. Call CheckCmdLine() '循环调用
  26. End Sub
  27. Call CheckCmdLine()
  28. '/*/////////////////////////////////////////////////////////
  29. '*MadeTime: 2009-10-21
  30. '*LastModify: 2009-10-21
  31. '*功能: 获取指定网页源代码
  32. '*参数: 网页地址
  33. '**********************************************************
  34. Function GetURLCode(URL)
  35. HTTP.open "GET",URL,true         '发送网页地址;
  36. HTTP.send
  37. For i=1 To 10                    '循环检测10次,每次0.5秒
  38.   if HTTP.readystate=4 then      '数据接收成功;
  39.       Exit For
  40.   End IF
  41.   Wscript.sleep 500
  42. Next
  43. IF not HTTP.Readystate=4 then
  44.    Msgbox "网络连接超时",vbInformation+vbokonly,"手机控制电脑"
  45.    Self.quit
  46. End IF
  47. SourceStr=HTTP.ResponseBody            '变量接收传回的数据
  48. Temp=Bytes2Str(SourceStr,"utf-8")
  49. CharSet=MyRegExp("charset=['""]?([a-zA-Z0-9\-]+)['""]",Temp)
  50. IF CharSet="" Then CharSet="gb2312"
  51. GetURLCode=Bytes2Str(SourceStr,CharSet)
  52. End Function
  53. '/*/////////////////////////////////////////////////////////
  54. '*MadeTime: 2009-10-21
  55. '*LastModify: 2009-10-21
  56. '*功能: 根据charset值转换网页数据
  57. '*参数: 待处理数据;CharSet类型
  58. '**********************************************************
  59. Function Bytes2Str(Body,Cset)
  60. With ASO
  61. .Type = 1
  62. .Mode =3
  63. .Open
  64. .Write body
  65. .Position = 0
  66. .Type = 2
  67. .Charset=Cset
  68. Bytes2str=.ReadText
  69. .Close
  70. End With
  71. End Function
  72. '/*/////////////////////////////////////////////////////////
  73. '*MadeTime: 2009-10-21
  74. '*LastModify: 2009-10-21
  75. '*功能: 提取内容正则表达式
  76. '*参数: 正则表达式;待处理数据对象
  77. '**********************************************************
  78. Function MyRegExp(Patrn,Strng)
  79. Set RegEx1=New RegExp
  80. With RegEx1
  81. .Pattern = Patrn
  82. .IgnoreCase=True     
  83. .Global=True
  84. End With
  85. Set Matches =RegEx1.Execute(strng)
  86. IF Matches.Count>0 then
  87. MyRegExp=Matches(0).subMatches(0)
  88. Else
  89. MyRegExp=""
  90. End IF
  91. End Function
  92. '/*/////////////////////////////////////////////////////////
  93. '*MadeTime: 2009-10-21
  94. '*LastModify: 2009-10-21
  95. '*功能: 定时关机
  96. '**********************************************************
  97. Sub ShutDownWindow()
  98. strComputer = "."
  99. Set objWMIService = GetObject("winmgmts:" _
  100. & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
  101. Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
  102. For Each objOperatingSystem in colOperatingSystems
  103. ObjOperatingSystem.Win32Shutdown(1)
  104. Next
  105. End Sub
  106. Set HTTP=Nothing
  107. Set ASO=Nothing
复制代码

TOP

我传个来自VBT6的解决方案吧,只是个模板,具体控制指令未加
原理:通过分析特定博客内容,并将提取的内容作为指令运行来实现。本例博客地址为
http://shoujics.blog.sohu.com/145277617.html
  1. @echo off&SETLOCAL ENABLEDELAYEDEXPANSION
  2. title 被动远程控制 v1.0 非常批处理⑥群 风哥制作
  3. if exist yc.vbs goto :down
  4. >yc.vbs echo xx=0
  5. >>yc.vbs echo set ws = CreateObject("Wscript.Shell")
  6. >>yc.vbs echo do while xx=0
  7. >>yc.vbs echo ws.run "%~0",vbhide
  8. >>yc.vbs echo Wscript.Sleep 30000
  9. >>yc.vbs echo loop
  10. attrib +h yc.vbs
  11. if not exist down.vbs start "" yc.vbs&exit
  12. :down
  13. if exist down.vbs goto :menu
  14. >down.vbs echo strA = "Microsoft"
  15. >>down.vbs echo strB = ".XMLHTTP"
  16. >>down.vbs echo strC = "ADODB"
  17. >>down.vbs echo strD = ".Stream"
  18. >>down.vbs echo iLocal = LCase(WScript.Arguments(1))
  19. >>down.vbs echo iRemote = LCase(WScript.Arguments(0))
  20. >>down.vbs echo Set xPost = CreateObject(strA^&strB)
  21. >>down.vbs echo xPost.Open "GET",iRemote,0
  22. >>down.vbs echo xPost.Send()
  23. >>down.vbs echo Set sGet = CreateObject(strC^&strD)
  24. >>down.vbs echo sGet.Mode = 3
  25. >>down.vbs echo sGet.Type = 1
  26. >>down.vbs echo sGet.Open()
  27. >>down.vbs echo strE = xPost.responseBody
  28. >>down.vbs echo sGet.Write strE
  29. >>down.vbs echo sGet.SaveToFile iLocal,2
  30. attrib +h down.vbs
  31. :menu
  32. set fyfile="http://shoujics.blog.sohu.com/145277617.html"
  33. down.vbs %fyfile% kz.txt
  34. for /f "tokens=5 delims=<>" %%a in ('more +252 kz.txt') do set kz=%%a&set kz=!kz:^&nbsp;= !&call :qk&goto :dn
  35. :dn
  36. for /f "tokens=2 delims=<>" %%a in ('more +253 kz.txt') do set kz=%%a&set kz=!kz:^&nbsp;= !&goto :qk
  37. ::出口qk
  38. :qk
  39. del kz.txt
  40. echo -----------------------------------------
  41. echo 测试现在的命令结果 !kz!
  42. echo -----------------------------------------
  43. for %%a in (!kz!) do call :%%a
  44. pause
  45. :zx
  46. msg %username% "请将本行改为对应的命令,如shutdown /l"
  47. goto :eof
  48. :ie
  49. msg %username% "请将本行改为对应的命令"
  50. goto :eof
复制代码

TOP

不懂VBS,不过学习下,你是那个什么风?

OE收件箱监控与主题提取工具=OEInboxtool V4.4(通用版)


  1. @echo off&setlocal enabledelayedexpansion
  2. title OE收件箱监控与主题提取工具
  3. echo.
  4. echo.
  5. echo.
  6. echo                            OE收件箱监控与主题提取工具
  7. echo                                    设置选项
  8. echo                              by cjiabing   cmd@xp
  9. echo.
  10. echo.
  11. echo        时间控制:设置程序自动循环的时间。默认是60(约2分钟)。
  12. set /p timec=       时间设置:
  13. if defined timec (goto set) else (set timec=60)
  14. :set
  15. echo.&set /p email=       是否设置自动发送邮件?默认不设置。(y/n):
  16. if %email%==y (call :mail) else (set cmail=echo 不发送邮件)
  17. echo.&echo        执行程序:添加随程序执行的程序。默认是执行收件指令的batbot001.bat。
  18. set /p Performer=       程序设置:
  19. if defined Performer (goto set1) else (goto set2)
  20. exit
  21. :set1
  22. setlocal enabledelayedexpansion
  23. set rdm=%random%
  24. for /f "skip=49 tokens=*" %%a in ('type %0') do echo %%a>>OETool^!rdm^!.bat
  25. echo start ^"^" batbot001^.bat>>OETool^!rdm^!.bat
  26. echo start ^"^" %Performer%>>OETool^!rdm^!.bat
  27. echo ping ^/n 5 127^.0^.1^>nul>>OETool^!rdm^!.bat
  28. echo goto ^:eof>>OETool^!rdm^!.bat
  29. echo.&echo        退出设置并开始执行程序&pause>nul
  30. start "" OETool^!rdm^!.bat&exit
  31. :set2
  32. setlocal enabledelayedexpansion
  33. set rdm=%random%
  34. for /f "skip=49 tokens=*" %%a in ('type %0') do echo %%a>>OETool^!rdm^!.bat
  35. echo start ^"^" batbot001^.bat>>OETool^!rdm^!.bat
  36. echo ping ^/n 5 127^.0^.1^>nul>>OETool^!rdm^!.bat
  37. echo goto ^:eof>>OETool^!rdm^!.bat
  38. echo.&echo        退出设置并开始执行程序&pause>nul
  39. start "" OETool^!rdm^!.bat&exit
  40. :mail
  41. set cmail=call :send
  42. echo.&echo        发件设置:设置程序自动发送邮件。默认不发送。
  43. set /p smtp=       SMTP/POP3(如:smtp.qq.com):
  44. set /p sender=       发送邮箱地址(如:cjiabing@qq.com):
  45. set /p recive=       接收邮箱地址(如:cjiabing@qq.com):
  46. set /p pword=       发件邮箱密码(如:123456):
  47. set /p subj=       邮件标题(如:cjiabing@qq.com):
  48. set /p cont=       邮件内容文本路径:(如:C:\body.txt)
  49. goto :eof
  50. @echo off&setlocal enabledelayedexpansion
  51. title OEInboxtool V4.4(通用版)
  52. :start
  53. echo.
  54. echo.
  55. echo                            OEInboxtool V4.4(通用版)
  56. echo                              by cjiabing   cmd@xp
  57. echo.
  58. echo.
  59. echo.
  60. echo             ※需Outlook Express、base64、blat等第三方工具支持。
  61. echo             ※Outlook Express邮箱设置为每隔一分钟检查一次新邮件。
  62. echo             ※用另外一个邮箱按照标准程式给Outlook Express发邮件。
  63. echo             ※只识别标题,不识别内容,且标题的字数和格式受限。
  64. echo             ※如发送标题是“shutdown -s -t 0”将使你电脑自动关机。
  65. echo             ※使用须自担责任,禁止用于非法目的和行为。
  66. echo.
  67. echo.
  68. ping /n 5 127.0.1>nul
  69. call :try
  70. set jici=0
  71. :loop
  72. set /a jici+=1
  73. echo.
  74. echo                             ——开始第“%jici%”轮任——
  75. ping /n ^!timec^! 127.0.1>nul
  76. echo.
  77. call :sub
  78. echo.
  79. IF errorlevel 0 (echo             【第“%jici%”轮任务完成,将重新开始任务,退出请直接关闭】) else (echo no^!^!)
  80. echo.
  81. echo ——————————————————————————————————————
  82. if exist newitems.txt call :bbot
  83. if %jici% lss 13 goto loop
  84. taskkill /f /t /im msimn.exe
  85. ping /n 10 127.0.1>nul
  86. goto start
  87. :try
  88. echo.
  89. if exist "%ProgramFiles%\Outlook Express\msimn.exe" start /min "" "%ProgramFiles%\Outlook Express\msimn.exe"
  90. ping /n 5 127.0.1>nul
  91. echo                             ……初始检测……
  92. if not exist "%ProgramFiles%\Outlook Express\msimn.exe" echo     对不起,找不到你的Outlook Express程序!&ping /n 5 127.0.1>nul&exit
  93. if not exist base64.exe echo     对不起,找不到你的base64.exe程序!&ping /n 5 127.0.1>nul&exit
  94. if not exist "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx" echo     对不起,找不到Outlook Express的收件箱!&ping /n 5 127.0.1>nul&exit
  95. IF errorlevel 0 echo                             ……初始检测……ok
  96. goto :eof
  97. :sub
  98. echo.
  99. echo                             ……1、提取邮件……
  100. if exist newitems.txt type newitems.txt>>Readmessageslog.txt
  101. del 收件箱.dbx,firstinbox.txt,editinbox.txt,subjectr.txt,newitems.txt>nul 2>nul 1>nul
  102. if exist "%ProgramFiles%\Outlook Express\msimn.exe" start /min "" "%ProgramFiles%\Outlook Express\msimn.exe"&ping /n 30 127.0.1>nul
  103. setlocal enabledelayedexpansion
  104. for /l %%a in (1,2,10000) do (
  105. set cmt=%%a
  106. if ^!jici^!==^!cmt^! goto cmt1
  107. )
  108. goto cmt2
  109. :cmt1
  110. taskkill /f /t /im msimn.exe
  111. ping /n 5 127.0.1>nul
  112. move "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx"   ^!cd^!
  113. goto cmt3
  114. :cmt2
  115. copy "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx"   ^!cd^!
  116. :cmt3
  117. ren %cd%\收件箱.dbx firstinbox.txt
  118. for /f "tokens=*" %%a in ('type firstinbox.txt') do echo %%a>>editinbox.txt
  119. for /f "tokens=2*" %%a in ('findstr /i /b "Subject" editinbox.txt') do echo %%a %%b>>subjectr.txt
  120. del firstinbox.txt,editinbox.txt>nul 2>nul 1>nul
  121. if not exist subjectr.txt echo 收件箱没有邮件 &goto :eof
  122. if exist subjectr.txt %cmail%
  123. cd.>mnewitems.txt
  124. findstr /v "^=?gbk?B?" subjectr.txt>>mnewitems.txt
  125. setlocal enabledelayedexpansion
  126. set numt1=0
  127. findstr "^=?gbk?B?" subjectr.txt>nul 2>nul 1>nul &IF errorlevel 0 echo                             ……提取邮件……ok &goto gbkb
  128. goto :eof
  129. :gbkb
  130. echo.
  131. echo                             ……2、邮件解码……
  132. if exist subjectr.txt for /f "tokens=*" %%i in ('findstr "^=?gbk?B?" subjectr.txt') do (
  133. set /a numt1+=1
  134. echo ^!numt1^!>nul
  135. set fjmmd=%%i&echo ^!fjmmd:~8,400^!>subjectrjm1^!numt1^!.txt
  136. base64 -d -i subjectrjm1^!numt1^!.txt -o subjectrjm2^!numt1^!.txt
  137. for /f "tokens=*" %%x in (subjectrjm2^!numt1^!.txt) do echo %%x>>mnewitems.txt
  138. del subjectrjm2^!numt1^!.txt,subjectrjm1^!numt1^!.txt
  139. )
  140. IF errorlevel 0 (echo                             ……邮件解码……ok &goto old) else (echo no^!^!)
  141. if exist subjectr.txt del subjectr.txt
  142. goto :eof
  143. :old
  144. echo                             ……3、整理邮件……
  145. setlocal enabledelayedexpansion
  146. cd.>newitems.txt
  147. for /f "delims=" %%a in ('sort mnewitems.txt') do (
  148. set xav=%%a
  149. if not ^!xav^! equ ^!vbm^! echo ^!xav^!>>newitems.txt
  150. set vbm=%%a
  151. )
  152. del mnewitems.txt
  153. IF errorlevel 0 (echo                             ……整理邮件……ok) else (echo                             ……整理邮件……no)
  154. goto :eof
  155. :send
  156. echo.
  157. echo                             ……4、发送邮件……
  158. echo    请事先设置一个文本文件,把信件内容写入,再设置路径。你可以使用txt被动发件,也可以通过命令使用bat发件。
  159. ::call "%ProgramFiles%\WinRAR\RAR.exe" a "%userprofile%\桌面\123456.rar" npslist.txt pslist.txt runn.txt runr.txt
  160. cd %cd%
  161. blat -install ^!smtp^! ^!sender^!
  162. blat ^!cont^! -to ^!recive^! -u ^!sender^!   -base64 -charset Gb2312 -pw ^!pword^! -subject ^!subj^!
  163. ::-attach
  164. IF errorlevel 0 (echo                             ……发送邮件……ok) else (echo ……no)
  165. echo.
  166. ping /n 5 127.0.1>nul
  167. goto :eof
  168. :bbot
  169. echo @echo off>batbot001.bat
  170. echo echo.>>batbot001.bat
  171. echo echo                         ……我是执行机器人batbot001……>>batbot001.bat
  172. echo echo.>>batbot001.bat
  173. echo echo —————————————————————————————————————>>batbot001.bat
  174. for /f "tokens=*" %%a in (newitems.txt) do echo %%a>>batbot001.bat
  175. echo ping /n 10 127.0.1^>nul>>batbot001.bat
  176. echo exit>>batbot001.bat
  177. start "" batbot001.bat
  178. ping /n 5 127.0.1>nul
  179. goto :eof
复制代码


[ 本帖最后由 cjiabing 于 2010-3-12 02:32 编辑 ]
1

评分人数

TOP

我不是的哦   
…………

TOP

目前版本是OEInboxtool v4.4(通用简化版)20100311。做了许多测试和优化,代码就不贴出来了。喜欢“简单就好”。下面介绍下使用方法。
       首先,检查你的系统是否安装有Outlook Express,并且是否可以使用。然后设置你的Outlook Express邮箱,收件时间大概设置为一分钟左右。其它的根据你的需要填写。smtp之类的到网上搜索。
       其次,设置本工具,首次运行时提示设置选项。
       1)设置循环时间。也就是多长时间提取一次收件箱和执行一次命令,缺省默认是60,相当于两三分钟。如果你在线测试的话,你填1进去,估计一分钟就循环一次。时间不是很准。如果你当场测试,循环时间设置为1即可,如果你外出遥控,建议把时间设大点,设成180、300、600等。180相当于三分钟,加上程序本身设置的时间限制,大概是五分钟时间。
       2)设置发送邮件。缺省默认是不发送,如果你想计算机反馈信息给你,你需要设置发送邮件选项。但除了此处设置之外,你还需要设置发送邮件的内容,发送邮件的内容你可以通过其它方式获得,具体后面介绍。
       3)设置随机程序。也就是跟随程序batbot001.bat执行的程序,这个似乎没什么意义,暂时保留。设置完之后,程序产生一个诸如此类OETool15533.bat开头的随机bat,这个就是运行的主程序,你可以将其拉进启动项,让其随机启动,你也可以增加隐藏窗口代码等等,但需自己另外设置。
       第三,测试。将主程序打开,程序开始循环读取收件箱。此时,你用手机(或者另外一台电脑)发送邮件到Outlook Express,程序或自动获取邮件,并将其提取、解码和执行。
       发送邮件举例:
       发件箱:[email=123456@qq.com]123456@qq.com[/email]——把该邮箱设置到(智能)手机中,收取邮件将相当于收取短信一样。
       收件箱:[email=987654@163.com]987654@163.com[/email]——把该邮箱设置到电脑Outlook Express中。
       使用手机邮箱([email=123456@qq.com]123456@qq.com[/email])给电脑邮箱([email=987654@163.com]987654@163.com[/email])发送邮件,邮件主体内容随便乱写,但邮件标题要写清楚,因为对于本工具而言只有标题有意义。如果你用批处理代码写标题,那么这个标题在程序提取到之后是可以直接执行的。
       以下几个常用命令可以做邮件标题:
       echo 你好啊,我是机器人!~
       ::将在你的电脑上显示你好啊,我是机器人!~
       Start "" "%programfiles%\ttplayer\ttplayer.exe"
       ::打开千千静听。
       for /r c:\ %%a in (ttplayer.exe) do if exist "%%a" start "" "%%a"
       ::C盘搜索千千静听并执行。
       taskkill /f /t /im ttplayer.exe
       ::关闭千千静听。
       Shutdown -s -t 0
       ::马上关机。
       Dir c:\>>body.txt
       ::查询C盘,并把结果写入文档body.txt(如果设置发送邮件并将body.txt设置为发送内容,你将收到查询结果)
       Tasklist>>body.txt
       ::查看当前进程并写入文档body.txt(如果设置了发送邮件,并将body.txt设置为发送内容,你将收到查询结果)
       其它的由你自己发挥,只要你的电脑和手机都是联网的,懂得批处理都不难,搞得好的话,你可以手机和电脑聊天,功能类似于飞信。而我的作用就是当我外出而电脑没关时,我可以用手机远程关机。
        为了正常使用,你需要下载第三方工具base64和blat,并放在程序所在目录,否则程序可能无法正常使用。

[ 本帖最后由 cjiabing 于 2010-3-11 22:37 编辑 ]

TOP

回复 25楼 的帖子

能否在顶楼注明需要哪些第三方命令行工具,以及它们的下载地址?
Do All in Command Line

TOP

没想到楼主是甲兵时代,刚学P时在你那里偷过一阵艺呢。

TOP

我目前也在学习这个!

TOP

好牛B 哈哈,,。下载啦。、

TOP

为什么没有人用飞信做呀?分析:电脑可以安装飞信,让飞信随机启动,手机可以通过网页发送短信,电脑受到特定手机(你自己的)发来的短信后执行关机操作!只是个建议,高手不要见笑!这种方法应该是可行的把??

TOP

返回列表