中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]经过批处理用手机控制电脑
« [1] [2] »
作者:
标题: [求助]经过批处理用手机控制电脑 上一主题 | 下一主题
cjiabing
新手上路





积分 19
发帖 18
注册 2009-1-19
状态 离线
『楼 主』:  [求助]经过批处理用手机控制电脑

一直想弄个手机和电脑互动的东东,可能力有限,发个帖,大家一起来研究研究吧。
       大概构思是这样的,出门的时候忘记关电脑了,但最近三天可能不回家,想通过手机发送一条指令给电脑,说,电脑,我不回家,你关机睡觉吧。批处理如何实现此功能?
       电脑和电脑之间可以通过浏览器、聊天工具等方式通信,手机和手机之间可以通过手机号码通信。手机和电脑之间通过什么方式通信呢?
       1、飞信:可以在电脑上发送免费短信,也可以在智能手机上安装飞信。
       2、QQ:电脑和手机上的QQ都已经很普及了。
       3、邮件:现在手机同样很轻松的就可以接收邮件。
       以上是三种常见的手机和电脑的通信方式,可见,手机和电脑之间的通信已经大概的有了一个基础,那么,我们的批处理能够在中间扮演什么角色呢?
       飞信命令行版、QQ命令行版、邮件命令行版我都找到了。飞信命令行版给我弄丢失了,可以再找。QQ命令行版可以用,但似乎它和官方版本的一样是独立的,需要手工操作,批处理无法“嵌入”它的程序里面(可能我的能力有限),因此无法预先设定QQ号码和密码,无法导入和导出通信内容。命令行版的邮件我用的是blat.exe,但目前我只弄懂发送邮件,无法搞清楚怎么接收邮件。
        以邮件作为媒介连通电脑和手机(智能机),在电脑上批处理配合blat可以发送邮件。比如,我用手机发送邮件给电脑“电脑,执行关机”——转换成代码:Dear007,shutdown -s。电脑开机一直执行一个批处理,专门用来监控邮箱,当其接收到命令“Dear007,shuodown -s”时,分析dear007为电脑名称,“shutdown -s”为执行命令,接收到命令后,批处理首先自动回复一封邮件给手机,“收到!马上执行!”,并于一分钟后开始执行关机命令。
         整个过程,需要一个监控邮箱的P,需要实现接收和分析邮件的P,需要发送邮件的P,需要执行命令的P。发送邮件的P已经可以实现,但接收和分析的P我还没搞定,目前没有具体的头绪,想请教众位高手,接受和分析邮件具体如何实现?最好具有很强的可操作性,代码也得,工具也得,发一点出来,大家一起完成这个有趣的试验,让批处理也实现智能化!~

[ Last edited by cjiabing on 2010-2-28 at 21:49 ]

2010-2-28 21:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jarry0932
初级用户





积分 128
发帖 122
注册 2009-9-21
状态 离线
『第 2 楼』:  

楼主实在太有想象力了…佩服…

2010-3-1 00:37
查看资料  发送邮件  发短消息 网志  OICQ (274997087)  编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『第 3 楼』:  

回楼上,这个是完全可能的!
用邮件比较好实现,因为电脑上分析QQ和飞信的包是比较难的,而邮件可以用主题(关键字)来实现,是比较容易的!
再加上远程开关机,这完全是智能化的电脑了!

2010-3-1 11:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『第 4 楼』:  

处女作163邮箱登陆器
http://www.cn-dos.net/forum/view ... =%E9%82%AE%E7%AE%B1

2010-3-1 11:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cjiabing
新手上路





积分 19
发帖 18
注册 2009-1-19
状态 离线
『第 5 楼』:  

只是登陆邮箱没有用呢,无法读取新邮件,我现在在研究outlook,遇到个问题,就是把htm转换成txt,不好弄

2010-3-1 16:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

把网页文件转换为纯文本的工具HtoX32c
http://www.cn-dos.net/forum/viewthread.php?tid=25122



2010-3-1 21:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cjiabing
新手上路





积分 19
发帖 18
注册 2009-1-19
状态 离线
『第 7 楼』:  

呵呵,那个太复杂了,我直接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解码,没有成功使用过,楼上的给个方案啊?

2010-3-1 22:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zlsanhong
新手上路





积分 15
发帖 14
注册 2010-2-26
状态 离线
『第 8 楼』:  

想不用钱估计是不行的 ,用这个吧。有这功能

http://www.hzybz.com/  里头自己找找看

2010-3-5 23:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 9 楼』:  Re 8 楼

楼主的代码都快搞定了,你咋说不行呢?
http://bbs.bathome.net/thread-7243-1-1.html



2010-3-5 23:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zlsanhong
新手上路





积分 15
发帖 14
注册 2010-2-26
状态 离线
『第 10 楼』:  

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



可以选择IE等工具,你的手机可以上网吧??在自己的电脑上架设个小网站,然后......(我用N70时试过,效果还可以...)
BOSS     请问用的是IIS假设服务器么   ? 然后怎么搞呢。。这是个最好的输入方式。。。  最好是能用手机将文字发送并保存为TXT文件到电脑上。。如此一来。设个批处理在电脑上一直运行。 当发现这个文件的时候。。。哈哈。。就处理相应的批处理。。妞啊。。。



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

2010-3-7 11:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mgq
中级用户





积分 206
发帖 103
注册 2008-5-6
来自 广东 肇庆
状态 离线
『第 11 楼』:  

其实用QQ控制就是一个最好的办法:

1.申请两个专用的QQ,暂且叫主控端,接收端.

2.主控端在手机上,接收端在电脑.

3.两个QQ只加对方为好友,然后禁止任何人加为好友.以免混乱.

4.常规项选择"允许消息来时自动控制弹出窗口"

原理:
在手机是运行主控端QQ,电脑运行接收端.手机发出信号QQ信息,电脑接收后弹出窗口,并且最大化用

nircmd.exe 来模拟鼠标动作,把QQ窗口的内容复制到TXT文档,然后用批处理读取TXT内容,然后....


以下这段代码在本机能正常控制酷狗音乐,而且能把执行结果返回到手机上.

需要第三方软件, cmdow.exe nircmd.exe

以下代码供参考,不一定适用于其他机.写得很乱,不好意思.


@echo off
Setlocal EnableDelayedExpansion
cmdow @ /min
rem 设置主控制端的QQ名称(手机上的QQ名称)
set qq=主控端
for /f %%i in ('cmdow /t ^|findstr /i "qq" ^|findstr /i  "!qq!"') do cmdow %%i /cls
:chongfu
cls
title 正在接收手机信息
cmdow /t |findstr /i "!qq!" >nul &&goto kongji
nircmd wait 500
goto chongfu
:kongji
for /f %%a in ('cmdow /t ^|findstr /i  "!qq!"') do cmdow %%a /act /max
nircmd setcursor 500 500
nircmd sendmouse right click
nircmd setcursor 510 490
nircmd sendkey a press
rem 清空剪贴板
nircmd clipboard clear
nircmd sendmouse right click
nircmd sendkey c press
nircmd clipboard addfile "chengshu.txt"
set jcb=
set tkyc=
for /f "skip=3" %%a in ('type chengshu.txt ^|findstr /i /v "( http"' ) do set jcb=%%a
del /q chengshu.txt
set tkyc=!jcb!
set tkyc=!jcb!  错误,未配置该代码
if /i "!jcb!" == "kg" goto kg
if /i "!jcb!" == "kpl" set tkyc=!jcb!  酷狗 播放/暂停 &call :chuowu &goto kpl
if /i "!jcb!" == "kup" set tkyc=!jcb!  酷狗 上一曲 &call :chuowu &goto kup
if /i "!jcb!" == "kdo" set tkyc=!jcb!  酷狗 下一曲 &call :chuowu &goto kdo
if /i "!jcb!" == "ckg" set tkyc=!jcb!  结束酷狗 &call :chuowu &goto ckg
nircmd clipboard set "!tkyc!"
call :kiuy
goto chongfu
:kg
start "" "D:\Program Files\KuGou\KuGou2010\KuGoo.exe"
:kgqf
cmdow |findstr /i "KuGoo">nul ||(
nircmd wait 1000
goto kgqf
)
nircmd clipboard set "!jcb! 酷狗音乐 已启动"
call :kiuy
goto chongfu
:ckg
for /f %%a in ('cmdow ^|findstr /i "kugoo"') do cmdow %%a /cls
goto chongfu
:kpl
cmdow /t |findstr /i "kugoo" >nul ||goto chongfu
for /f %%a in ('cmdow /t ^|findstr /i "kugoo"') do cmdow %%a /act
echo CREATEOBJECT^("WSCRIPT.SHELL"^).SENDKEYS "^"+"%%"+"{f5}" >kpl.vbs
echo createobject^("scripting.filesystemobject"^).deletefile wscript.scriptfullname >>kpl.vbs
start "" kpl.vbs
goto chongfu
:kup
cmdow /t |findstr /i "kugoo" >nul ||goto chongfu
for /f %%a in ('cmdow /t ^|findstr /i "kugoo"') do cmdow %%a /act
echo CREATEOBJECT^("WSCRIPT.SHELL"^).SENDKEYS "^"+"%%"+"{left}" >kup.vbs
echo createobject^("scripting.filesystemobject"^).deletefile wscript.scriptfullname >>kup.vbs
start "" kup.vbs
goto chongfu
:kdo
cmdow /t |findstr /i "kugoo" >nul ||goto chongfu
for /f %%a in ('cmdow /t ^|findstr /i "kugoo"') do cmdow %%a /act
echo CREATEOBJECT("WSCRIPT.SHELL").SENDKEYS "^"+"%%"+"{right}" >kdo.vbs
echo createobject^("scripting.filesystemobject"^).deletefile wscript.scriptfullname >>kdo.vbs
start "" kdo.vbs
goto chongfu
:chuowu
nircmd clipboard set "!tkyc!"
:kiuy
rem 以下一行是分辨率为 1024*768 鼠标的位置其它请自行摸索.
nircmd setcursor 500 650
nircmd sendmouse right click
nircmd sendkey p press
nircmd sendkey enter press
rem 结束主控方QQ窗口
for /f %%a in ('cmdow /t ^|findstr /i  "!qq!"') do cmdow %%a /cls
nircmd clipboard clear

2010-3-7 20:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mgq
中级用户





积分 206
发帖 103
注册 2008-5-6
来自 广东 肇庆
状态 离线
『第 12 楼』:  

再补充一下简单操作:
在手机QQ输入以下命令来控制酷狗,每次只能输入一个命令.
KG    启动酷狗
kpl   酷狗 播放/暂停
kup   酷狗 上一曲
kdo   酷狗 下一曲
ckg   结束酷狗

2010-3-7 20:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
000000000000000
初级用户





积分 49
发帖 42
注册 2009-11-26
状态 离线
『第 13 楼』:  

飞信机器人实现命令式互动
http://www.hiadmin.com/?p=469

2010-3-7 22:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cjiabing
新手上路





积分 19
发帖 18
注册 2009-1-19
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by mgq at 2010-3-7 20:09:
再补充一下简单操作:
在手机QQ输入以下命令来控制酷狗,每次只能输入一个命令.
KG    启动酷狗
kpl   酷狗 播放/暂停
kup   酷狗 上一曲
kdo   酷狗 下一曲
ckg   结束酷狗

见识了,向你学习,可惜我只懂得P!~

2010-3-12 02:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cjiabing
新手上路





积分 19
发帖 18
注册 2009-1-19
状态 离线
『第 15 楼』:  

@echo off&setlocal enabledelayedexpansion
title OE收件箱监控与主题提取工具
echo.
echo.
echo.
echo                            OE收件箱监控与主题提取工具
echo                                    设置选项
echo                              by cjiabing   cmd@xp
echo.
echo.
echo        时间控制:设置程序自动循环的时间。默认是60(约2分钟)。
set /p timec=       时间设置:
if defined timec (goto set) else (set timec=60)
:set
echo.&set /p email=       是否设置自动发送邮件?默认不设置。(y/n):
if %email%==y (call :mail) else (set cmail=echo 不发送邮件)
echo.&echo        执行程序:添加随程序执行的程序。默认是执行收件指令的batbot001.bat。
set /p Performer=       程序设置:
if defined Performer (goto set1) else (goto set2)
exit
:set1
setlocal enabledelayedexpansion
set rdm=%random%
for /f "skip=49 tokens=*" %%a in ('type %0') do echo %%a>>OETool^!rdm^!.bat
echo start ^"^" batbot001^.bat>>OETool^!rdm^!.bat
echo start ^"^" %Performer%>>OETool^!rdm^!.bat
echo ping ^/n 5 127^.0^.1^>nul>>OETool^!rdm^!.bat
echo goto ^:eof>>OETool^!rdm^!.bat
echo.&echo        退出设置并开始执行程序&pause>nul
start "" OETool^!rdm^!.bat&exit
:set2
setlocal enabledelayedexpansion
set rdm=%random%
for /f "skip=49 tokens=*" %%a in ('type %0') do echo %%a>>OETool^!rdm^!.bat
echo start ^"^" batbot001^.bat>>OETool^!rdm^!.bat
echo ping ^/n 5 127^.0^.1^>nul>>OETool^!rdm^!.bat
echo goto ^:eof>>OETool^!rdm^!.bat
echo.&echo        退出设置并开始执行程序&pause>nul
start "" OETool^!rdm^!.bat&exit
:mail
set cmail=call :send
echo.&echo        发件设置:设置程序自动发送邮件。默认不发送。
set /p smtp=       SMTP/POP3(如:smtp.qq.com):
set /p sender=       发送邮箱地址(如:cjiabing@qq.com):
set /p recive=       接收邮箱地址(如:cjiabing@qq.com):
set /p pword=       发件邮箱密码(如:123456):
set /p subj=       邮件标题(如:cjiabing@qq.com):
set /p cont=       邮件内容文本路径:(如:C:\body.txt)
goto :eof
@echo off&setlocal enabledelayedexpansion
title OEInboxtool V4.4(通用版)
:start
echo.
echo.
echo                            OEInboxtool V4.4(通用版)
echo                              by cjiabing   cmd@xp
echo.
echo.
echo.
echo             ※需Outlook Express、base64、blat等第三方工具支持。
echo             ※Outlook Express邮箱设置为每隔一分钟检查一次新邮件。
echo             ※用另外一个邮箱按照标准程式给Outlook Express发邮件。
echo             ※只识别标题,不识别内容,且标题的字数和格式受限。
echo             ※如发送标题是“shutdown -s -t 0”将使你电脑自动关机。
echo             ※使用须自担责任,禁止用于非法目的和行为。
echo.
echo.
ping /n 5 127.0.1>nul
call :try
set jici=0
:loop
set /a jici+=1
echo.
echo                             ——开始第“%jici%”轮任——
ping /n ^!timec^! 127.0.1>nul
echo.
call :sub
echo.
IF errorlevel 0 (echo             【第“%jici%”轮任务完成,将重新开始任务,退出请直接关闭】) else (echo no^!^!)
echo.
echo ——————————————————————————————————————
if exist newitems.txt call :bbot
if %jici% lss 13 goto loop
taskkill /f /t /im msimn.exe
ping /n 10 127.0.1>nul
goto start
:try
echo.
if exist "%ProgramFiles%\Outlook Express\msimn.exe" start /min "" "%ProgramFiles%\Outlook Express\msimn.exe"
ping /n 5 127.0.1>nul
echo                             ……初始检测……
if not exist "%ProgramFiles%\Outlook Express\msimn.exe" echo     对不起,找不到你的Outlook Express程序!&ping /n 5 127.0.1>nul&exit
if not exist base64.exe echo     对不起,找不到你的base64.exe程序!&ping /n 5 127.0.1>nul&exit
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
IF errorlevel 0 echo                             ……初始检测……ok
goto :eof
:sub
echo.
echo                             ……1、提取邮件……
if exist newitems.txt type newitems.txt>>Readmessageslog.txt
del 收件箱.dbx,firstinbox.txt,editinbox.txt,subjectr.txt,newitems.txt>nul 2>nul 1>nul
if exist "%ProgramFiles%\Outlook Express\msimn.exe" start /min "" "%ProgramFiles%\Outlook Express\msimn.exe"&ping /n 30 127.0.1>nul
setlocal enabledelayedexpansion
for /l %%a in (1,2,10000) do (
set cmt=%%a
if ^!jici^!==^!cmt^! goto cmt1
)
goto cmt2
:cmt1
taskkill /f /t /im msimn.exe
ping /n 10 127.0.1>nul
move "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx"   ^!cd^!
goto cmt3
:cmt2
copy "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx"   ^!cd^!
:cmt3
ren %cd%\收件箱.dbx firstinbox.txt
for /f "tokens=*" %%a in ('type firstinbox.txt') do echo %%a>>editinbox.txt
for /f "tokens=2*" %%a in ('findstr /i /b "Subject" editinbox.txt') do echo %%a %%b>>subjectr.txt
del firstinbox.txt,editinbox.txt>nul 2>nul 1>nul
if not exist subjectr.txt echo 收件箱没有邮件 &goto :eof
if exist subjectr.txt %cmail%
cd.>mnewitems.txt
findstr /v "^=?gbk?B?" subjectr.txt>>mnewitems.txt
setlocal enabledelayedexpansion
set numt1=0
findstr "^=?gbk?B?" subjectr.txt>nul 2>nul 1>nul &IF errorlevel 0 echo                             ……提取邮件……ok &goto gbkb
goto :eof
:gbkb
echo.
echo                             ……2、邮件解码……
if exist subjectr.txt for /f "tokens=*" %%i in ('findstr "^=?gbk?B?" subjectr.txt') do (
set /a numt1+=1
echo ^!numt1^!>nul
set fjmmd=%%i&echo ^!fjmmd:~8,400^!>subjectrjm1^!numt1^!.txt
base64 -d -i subjectrjm1^!numt1^!.txt -o subjectrjm2^!numt1^!.txt
for /f "tokens=*" %%x in (subjectrjm2^!numt1^!.txt) do echo %%x>>mnewitems.txt
del subjectrjm2^!numt1^!.txt,subjectrjm1^!numt1^!.txt
)
IF errorlevel 0 (echo                             ……邮件解码……ok &goto old) else (echo no^!^!)
if exist subjectr.txt del subjectr.txt
goto :eof
:old
echo                             ……3、整理邮件……
setlocal enabledelayedexpansion
cd.>newitems.txt
for /f "delims=" %%a in ('sort mnewitems.txt') do (
set xav=%%a
if not ^!xav^! equ ^!vbm^! echo ^!xav^!>>newitems.txt
set vbm=%%a
)
del mnewitems.txt
IF errorlevel 0 (echo                             ……整理邮件……ok) else (echo                             ……整理邮件……no)
goto :eof
:send
echo.
echo                             ……4、发送邮件……
echo    请事先设置一个文本文件,把信件内容写入,再设置路径。你可以使用txt被动发件,也可以通过命令使用bat发件。
::call "%ProgramFiles%\WinRAR\RAR.exe" a "%userprofile%\桌面\123456.rar" npslist.txt pslist.txt runn.txt runr.txt
cd %cd%
blat -install ^!smtp^! ^!sender^!
blat ^!cont^! -to ^!recive^! -u ^!sender^!   -base64 -charset Gb2312 -pw ^!pword^! -subject ^!subj^!
::-attach
IF errorlevel 0 (echo                             ……发送邮件……ok) else (echo ……no)
echo.
ping /n 5 127.0.1>nul
goto :eof
:bbot
echo @echo off>batbot001.bat
echo echo.>>batbot001.bat
echo echo                         ……我是执行机器人batbot001……>>batbot001.bat
echo echo.>>batbot001.bat
echo echo —————————————————————————————————————>>batbot001.bat
for /f "tokens=*" %%a in (newitems.txt) do echo %%a>>batbot001.bat
echo ping /n 10 127.0.1^>nul>>batbot001.bat
echo exit>>batbot001.bat
start "" batbot001.bat
ping /n 5 127.0.1>nul
goto :eof

[ Last edited by cjiabing on 2010-3-13 at 16:40 ]

2010-3-12 02:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: