中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 04:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » “for指定qq号,if限制与指定qq号临时对话” (已解决) 查看 3,039 回复 12
楼 主 “for指定qq号,if限制与指定qq号临时对话” (已解决) 发表于 2007-01-23 03:22 ·  中国 广东 广州 白云区 电信
初级用户
积分 99
发帖 43
注册 2007-01-12 23:05
19年会员
UID 76317
性别 男
状态 离线
看到这样一个批处理:(与某qq临时对话)
@Echo Off
:send
Set /p num=请输入对方的QQ号码:
If /I "%num%"=="n" Exit
start tencent://Message/?Uin=%num%
cls
Goto send
我想把它改成:不能与特定号码对话,比如不能和123456和654321对话,我是这样写的:
@echo off
set /p a=快输入qq号:
for %%1 in (123456 654321) do @if %a%=%%1 exit
start tencent://Message/?Uin=%a%
运行后,就自动退出了,我错在哪里了?请指教。。。

[ Last edited by namejm on 2007-3-13 at 01:41 PM ]
2 发表于 2007-01-23 03:37 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
不能用数字作为for的%%参数
3 发表于 2007-01-23 04:04 ·  中国 广东 广州 白云区 电信
初级用户
积分 99
发帖 43
注册 2007-01-12 23:05
19年会员
UID 76317
性别 男
状态 离线
那应该怎样写呢?请指教一下。。。
4 发表于 2007-01-23 04:18 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
用字母啊!

for %%a in (123456 654321) do @if “%a%”=“%%a” exit
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
hangyug +2 2007-01-23 11:11
5 发表于 2007-01-23 04:26 ·  中国 广东 广州 天河区 电信
初级用户
积分 99
发帖 43
注册 2007-01-12 23:05
19年会员
UID 76317
性别 男
状态 离线
测试了,不行啊。
比如,我输入380928777号,然后什么都不显示。。。
6 发表于 2007-01-23 06:42 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线

@echo off
set/p a=请输入QQ号:
if "%a%"=="" exit
for %%i in (123456 654321) do if "%a%"=="%%i" (pause>nul&exit/b)
start tencent://message?Uin=%a%
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
hangyug +2 2007-01-23 07:46
allowtimechange +1 2007-03-22 08:40
7 发表于 2007-01-23 07:51 ·  中国 广东 广州 天河区 电信
初级用户
积分 99
发帖 43
注册 2007-01-12 23:05
19年会员
UID 76317
性别 男
状态 离线
谢谢lxmxn,我的能力只能加两分,以表感谢。
如果不介意的话,能不能帮我解释一下,我那么写为什么不行吗?
还有(pause>nul&exit/b) 中的“括号”是什么意思,为何用括号括起来?
8 发表于 2007-01-23 07:54 ·  中国 广东 广州 天河区 电信
初级用户
积分 99
发帖 43
注册 2007-01-12 23:05
19年会员
UID 76317
性别 男
状态 离线
谢谢lxmxn,我的能力只能加两分,以表感谢。
如果不介意的话,能不能帮我解释一下,我那么写为什
9 发表于 2007-01-23 07:59 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线

  你的代码中,FOR命令的参数使用了%%1,这样容易出错,批处理会把%1认为是命令行传递的参数,故而导致批处理运行出错,达不到你的目的。2F、4F已经说明了,最好用字符。
 
  用括号和不用括号效果应该是一样的,纯属个人习惯问题。
10 发表于 2007-01-23 08:09 ·  中国 广东 广州 天河区 电信
初级用户
积分 99
发帖 43
注册 2007-01-12 23:05
19年会员
UID 76317
性别 男
状态 离线
谢谢,而且我还发现了一个错误,就是if句中的==,我少写了一个,真是晕啊~
再次感谢你,又学到一些东西。。。
11 发表于 2007-01-23 10:17 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by hangyug at 2007-1-22 19:09:
谢谢,而且我还发现了一个错误,就是if句中的==,我少写了一个,真是晕啊~
再次感谢你,又学到一些东西。。。

我说我的你怎么用不了,复制你的就少了一个-_-|||
12 发表于 2007-01-23 11:10 ·  中国 广东 广州 天河区 电信
初级用户
积分 99
发帖 43
注册 2007-01-12 23:05
19年会员
UID 76317
性别 男
状态 离线
呵呵,是啊,其实我自己写的就能用的。。。就是少了一个=。。。大意了。
13 发表于 2007-03-14 22:07 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 493
发帖 228
注册 2007-02-16 00:38
19年会员
UID 79596
性别 男
来自 安徽
状态 离线
能直接向指定的QQ号发信息!

就是用tencent://message?Uin=“*”
还要加点什么?
论坛跳转: