[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

回复 19楼 的帖子

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

TOP

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

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

代码有点长,分作两段了。
代码一:
  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

要使用邮件的话,用GMAIL吧,GMAIL可以实现远程关机。
http://tech.ddvip.com/2008-09/122023988859093.html
自从Gmail推出后,各种功能的插件不断被牛人们开发出来。今天笔者就为大家推荐一款名为“Gmail Romote Command”的软件,利用它我们可以发送特定的指令邮件到指定的GMAIL邮箱来控制我们的电脑。

TOP

原帖由 lxzzr 于 2010-3-4 13:44 发表



可以选择IE等工具,你的手机可以上网吧??在自己的电脑上架设个小网站,然后......(我用N70时试过,效果还可以...)






BOSS     请问用的是IIS假设服务器么   ? 然后怎么搞呢。。这是个最好的输入方式。。。  最好是能用手机将文字发送并保存为TXT文件到电脑上。。如此一来。设个批处理在电脑上一直运行。 当发现这个文件的时候。。。哈哈。。就处理相应的批处理。。妞啊。。。



关键是如何将文字用手机发送并保存到电脑上呢?

TOP

这个问题我也想过,但是能输入命令的限制太多,没有这样自由,当然,可以设置一下,既可以自由输入命令,也可以直接用编号。

前几天我在考虑弄个智能机器人的时候也是这么想的,先设置好一个命令文本,当你和机器说话的时候让机器分析你说的话语,从中提取关键词来搜索命令文本,让其自动执行。

昨晚又鼓捣了一通,屏蔽了反斜杠,输入地址路径时记得加双引号。我用“for /r  c:\   %%i  in  (ttplayer.exe)  do  if exist   "%%i"  start  "”做标题发送了一封邮件,程序接收到了并成功执行,我用千千静听设置了自动关机,最后电脑自己关机了。我的at没开。

还有许多地方继续完善,比如临时文件凌乱,没能正确提取新邮件,没有达到既定目的,再生程序遇到问题没有自动退出窗口,还没设置命令判断程序,无法区分邮件是命令还是非命令。

[ 本帖最后由 cjiabing 于 2010-3-5 12:31 编辑 ]

TOP

回复 9楼 的帖子

建议把常用的命令写在本地,然后邮件只写本地命令对应的编号,再根据邮件编码执行对应命令,这样就不怕了

TOP

文件比较 FC 怎么样?
另上面情况 findstr /g 好用否?
没详细看代码

TOP

说明下临时文件:
moldmailsave.txt(oldmailsave.txt)   旧邮件或者整理过后的旧邮件。
newmailsave.txt    新邮件或者收件箱中所有邮件。
noreadnewmail.txt   未读新邮件,上面两个文件比较(两者取异)后得到的结果。
现在代码可能问题,当邮件中含有   \    ""   等符号时比较无法进行下去,程序停住。哪个帮解决下  findstr "\"" 或者 delims="\     。
把Outlook Express的收件箱dbx都用txt解决掉了,不知道Outlook Express会不会唧唧歪歪!~  :p

TOP

Outlook Express和base64我就不提供了。Outlook Express一般系统自带,需要自己设置邮箱,主要是利用了它能够自动接收邮件(设置一分钟下载一次),以及它的收件箱dbx文件据说是表格形式的,用电子表格打开看还是看到大概模样的,但用记事本一样可以处理。记事本打开后会出现一大堆NUL,无意中用for来剔除了。本工具只提取标题,内容比较复杂,还要解码。标题也需要解码,有些无法解码成功。
       工具设置思路可能也存在不足,弄了两三天,废寝忘食,头晕脑胀了,有空再修改。现在主要问题就是最后的文件比较,主要作用就是看是不是新邮件,但在提取不同邮件的地方,findstr遇到了问题,就是双引号和斜杠无法通过,用for替换,无奈for无法将其用作分隔符。看看各位仁兄有好办法指点一下,我忙着上班暂时没空思考了。
       这个工具现在只是提取邮件,如果把copy换成move或许更好,因为dbx可以自动再生。有空再把命令的判断和邮件的发送等程序补上,到时候就可以通过发邮件来控制电脑了。至于手机,只是另外一台移动的比笔记本轻点的电脑而已,特别是对于智能手机来说,简直小菜一碟,我用dopod的C750,哈哈,有空大家交流下智能机。
       谢谢各位超级版主,我一直在偷偷学你们的技术啊!~哈哈,各位都是“师级”人物,我们能学到的是技术,难以学到的则是你们超越一切的思想和经验。

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

TOP

谢谢大家支持,现在也差不多了。其实手机和电脑之间最基本的还是网页,我现在只能采用邮箱的方式了,并且结果也差不多了。只是还需要个别地方完善。下面把这几天的结果贴出来吧,否则大家笑我讲故事了。担心一个问题,就是如果被黑客或者病毒制造者拿了去会导致什么问题?怕怕!~@

::修改了之后,斜杠被屏蔽,输入地址路径时记得加双引号。昨晚我用“for /r  c:\   %%i  in  (ttplayer.exe)  do  if exist   "%%i"  start  "”做标题发送了一封邮件,程序接收到了并成功执行,我用千千静听设置了自动关机,最后电脑自己关机了。我的at没开。还有待继续完善。

[ 本帖最后由 cjiabing 于 2010-3-8 18:28 编辑 ]

TOP

原帖由 cjiabing 于 2010-2-28 21:34 发表
一直想弄个手机和电脑互动的东东,可能力有限,发个帖,大家一起来研究研究吧。
       ...  .手机和电脑之间通过什么方式通信呢?..



可以选择IE等工具,你的手机可以上网吧??在自己的电脑上架设个小网站,然后......(我用N70时试过,效果还可以...)

TOP

第三方命令行工具 base64.exe 下载地址:
http://bbs.bathome.net/thread-3981-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

呵呵,那个太复杂了,我直接findstr到要点,现在得到以下信息:
Subject: =?gb2312?B?u7bTrcq508MgT3V0bG9vayBFeHByZXNzIDY=?=
Subject: =?gbk?B?u/rG98jL?=
Subject: 个人简历账户通知
Subject: =?gbk?B?xOO6w6OsztLKx8X6tKbA7Q==?=
Subject: dear007:dir c:\
Subject: =?gbk?B?Y3Nib3QgZWNobyDO0srHt7S/1r6r06I=?=
Subject: =?gbk?B?Y3Nib3QgY3Nib3QgZWNobyC57SUwIGNzYm90?=
Subject: =?gbk?B?16q3oqO6UmU6IGRlYXIwNzogZWNobyDO0srHu/o=?=
Subject: =?gbk?B?ZGVhcjA3OiBlY2hvIM7Syse7+sb3yMtkZWFyMDA3?=
要用base64解码,没有成功使用过,随风兄给个方案啊?不要手工的,最好直接P的base64。
如果无法解码,请把“=?gbk?B?”删掉,“Subject: ”不在解码范围内。

TOP

返回列表