中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]如何用脚本生成此bat
作者:
标题: [已解决]如何用脚本生成此bat 上一主题 | 下一主题
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『楼 主』:  [已解决]如何用脚本生成此bat

目录下有个Seting.ini,内容是

[859749548]
号码=859749548
版本=腾讯原版
路径=d:\program files\深度 deepqq\QQ.exe
登录方式=正常
MIN=b3Do41/sjBI4fOUhlpwbcQ==

我要生成一个批处理,内容是(注:■表示此处为空格)

start■d:\“program files”\"深度 deepqq”\QQ.exe■/START■QQUIN:859749548■PWDHASH:b3Do41/sjBI4fOUhlpwbcQ==■/STAT:41

批处理的内容随着Seting.ini的改变而变(有颜色的是会变的):
1.路径名称如有空格,要用双引号括起来(或者全加引号好像也行)
2.生成的bat以号码命名

[ Last edited by tireless on 2007-10-8 at 09:36 PM ]

2007-10-9 12:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





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

可以通过注册表来获取QQ的安装路径,个人觉得这样更具有移植性。
@echo off
for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ /v Install') do (
  set QQPathL=%%a
  set QQPathR=%%b
)
set QQPath=%QQPathL:~-1%:%QQPathR%
cd %QQPath%
start qq.exe /start QQUIN:843875648 PWDHASH:4Z1c1a8DeNoF9j+JHHRnrw== /stat:10


2007-10-9 13:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by HAT at 2007-10-8 05:10 PM:
可以通过注册表来获取QQ的安装路径,个人觉得这样更具有移植性。

不需要,就按照Seting.ini里面路径就可以。
生成的bat是随着Seting.ini的改变而变,有颜色的就是会变的。

另外你的执行不了

2007-10-9 13:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 4 楼』:  


@echo off
cd.>一键启动.bat
for /f "eol=[ tokens=1* delims==" %%a in (Seting.ini) do (
   if "%%a"=="号码" set hm=%%b&&set fl=0
   set /a fl+=1
   if "%%a"=="路径" set lj=%%b
   if /i "%%a"=="min" set min=%%b
   setlocal enabledelayedexpansion
   if !fl! equ 5 call :th
   endlocal
)
pause
goto :eof
:th
set lj=%lj: =/%
set lj=%lj:\= %
for %%i in (%lj%) do (
  set str=%%i
  set ljstr=%%i
  set /a num+=1
  call set str=%%str:/= %%
  if not "!str!"=="!ljstr!" set str="!str!"
  call set str%%num%%=%%str%%
)
set str=
for /l %%i in (1,1,%num%) do (
  call set str=%%str%%\%%str%%i%%
)

echo start %str:~1% /START QQUIN:%hm% PWDHASH:%min% /STAT:41>>一键启动.bat
[ Last edited by wudixin96 on 2007-10-9 at 04:06 PM ]

   此帖被 +2 点积分    点击查看详情   
评分人:【 tireless 分数: +2  时间:2007-10-9 16:23


2007-10-9 13:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 5 楼』:  回复 4# 的帖子

呵呵,不慢不慢。两三秒根本感觉不到,眨下眼就到了。

成功了,谢谢!

另外,如果Seting.ini的内容有N个
[859749548]
号码=859749548
版本=腾讯原版
路径=d:\program files\深度 deepqq\QQ.exe
登录方式=正常
MIN=b3Do41/sjBI4fOUhlpwbcQ==
[75323557]
号码=75323557
版本=腾讯原版
路径=d:\program files\深度 deepqq\QQ.exe
登录方式=正常
MIN=vtBheCm9JLe6jrBtxmEQUg==
...

生成的BAT是:

start d:\"program files"\"深度 deepqq"\QQ.exe /START QQUIN:859749548 PWDHASH:b3Do41/sjBI4fOUhlpwbcQ== /STAT:41
start d:\"program files"\"深度 deepqq"\QQ.exe /START QQUIN:75323557 PWDHASH:vtBheCm9JLe6jrBtxmEQUg== /STAT:41
...

这个批处理要怎么写呢?

2007-10-9 14:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 6 楼』:  

差不多的,就在第一个for里加一两句就行了。

但效率不行的,还是建议修改一下

不提高效率的话,文本内容越多所耗得时间就是翻倍的。

2007-10-9 14:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 7 楼』:  

改进过了,效率高了一点。

2007-10-9 14:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 8 楼』:  

有个问题,不会加引号了

可以生成N个以号码命名的BAT了,能不能只生成一个啊,就像我上面说的
(简单点可以用copy *.bat 一键启动.bat,但怎么复制它自己)

[ Last edited by tireless on 2007-10-8 at 07:13 PM ]

2007-10-9 15:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 9 楼』:  

引号有的啊,你再复制试试???

2007-10-9 15:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 10 楼』:  

刚才试没有。现在有了。

试了下Seting.ini如果有N个,可以生成11111.bat、22222.bat、859749548.bat。要怎么只生成一个呢?用copy?
[859749548]
号码=859749548
版本=腾讯原版
路径=D:\Program Files\深度 DEEPQQ\LiteIM.exe
登录方式=正常
MIN=b3Do41/sjBI4fOUhlpwbcQ==
[859749548]
号码=22222
版本=腾讯原版
路径=D:\Program Files\Maxthon2\Maxthon.exe
登录方式=正常
MIN=b3Do41/sjBI4fOUhlpwbcQ==
[859749548]
号码=11111
版本=腾讯原版
路径=D:\Program Files\Maxthon2\Maxthon.exe
登录方式=正常
MIN=b3Do41/sjBI4fOUhlpwbcQ==

2007-10-9 15:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 11 楼』:  

就是全部写入同一个bat文件里??

而不是根据QQ号码来命令bat文件,是吗??

2007-10-9 15:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 12 楼』:  

恩 命名其实无所谓,就命名为一键启动.bat就可以了

2007-10-9 15:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 13 楼』:  

现在似乎可以了,原来那个有个很大的bug。

会重复call好几个,速度就更慢了。

2007-10-9 16:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 14 楼』:  

幸苦了。可以用。

2007-10-9 16:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: