楼 主
批处理在被调用时,如果参数很长很复杂那能处理吗?
发表于 2009-01-08 02:37 · 中国 广东 广州 番禺区 电信
初级用户
★
积分 45
发帖 19
注册 2007-02-03 00:35
19年会员
UID 78455
性别 男
状态 离线
调用时的参数无法确定会有什么字符,有不少会是像下面红色字部分的,甚至有更复杂的,那能在批处理里面进行完整处理吗?
http://ptlogin2.qq.com/jump?clientuin=165614042&clientkey=D36C0CFDC5F36DDD07A535D5849D1D74C27827EBEECBF3304C856AD86753B0C8&u1=http://200255222.qzone.qq.com/blog/1219752185&ADUIN=165614042&ADSESSION=1231340330&ADTAG=CLIENT.QQ.1855_QQUrlReportBlankZone.0
第 2 楼
发表于 2009-01-08 06:28 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
可以
set "a=http://ptlogin2.qq.com/jump?clientuin=165614042&clientkey=D36C0CFDC5F36DDD07A535D5849D1D74C27827EBEECBF3304C856AD86753B0C8&u1=http://200255222.qzone.qq.com/blog/1219752185&ADUIN=165614042&ADSESSION=1231340330&ADTAG=CLIENT.QQ.1855_QQUrlReportBlankZone.0"
echo "%a%"
注意引号就可以了
49206C6F766520796F752067757973 54656C3A3133383238343036373837
第 3 楼
发表于 2009-01-08 14:20 · 中国 广东 广州 番禺区 电信
初级用户
★
积分 45
发帖 19
注册 2007-02-03 00:35
19年会员
UID 78455
性别 男
状态 离线
你可能误会了,我的意思是:某个程序是以下面的格式调用批处理“AA.BAT”,而红色字部分是作为一个参数使用的。另外,调用的格式是无法干预的。在这种情况下,批处理还能对红色字部分进行完整处理吗?
AA.BAT http://ptlogin2.qq.com/jump?clientuin=165614042&clientkey=D36C0CFDC5F36DDD07A535D5849D1D74C27827EBEECBF3304C856AD86753B0C8&u1=http://200255222.qzone.qq.com/blog/1219752185&ADUIN=165614042&ADSESSION=1231340330&ADTAG=CLIENT.QQ.1855_QQUrlReportBlankZone.0
第 4 楼
发表于 2009-01-08 16:54 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
我想说的是,试试更健康,例子已经有了,你为啥不试呢
49206C6F766520796F752067757973 54656C3A3133383238343036373837
第 5 楼
发表于 2009-01-08 17:16 · 中国 广东 广州 番禺区 电信
初级用户
★
积分 45
发帖 19
注册 2007-02-03 00:35
19年会员
UID 78455
性别 男
状态 离线
不是我不想试啊,只是我给出做例子的那段参数不是我定义的,那是批处理以外的EXE程序执行某项操作时定义的,我根本无法给它加引号。
第 6 楼
发表于 2009-01-09 13:23 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
批处理是你自已写的,难道那个与之配套的应用程序是你打网上下载的?
49206C6F766520796F752067757973 54656C3A3133383238343036373837
第 7 楼
发表于 2009-01-10 03:29 · 中国 广东 广州 番禺区 电信
初级用户
★
积分 45
发帖 19
注册 2007-02-03 00:35
19年会员
UID 78455
性别 男
状态 离线
我写的这个批处理目的是代替IE的原始位置,在任何程序调用IE打开网站的时候,批处理将先分析要打开的网站是否是黑名单中,如果是将忽略,如果否将调用被移到其它位置的IE主程序打开网站。
现在批处理已经基本完成,不带特殊符号的参数都能处理了,就是像上面的参数就不知怎么处理。
第 8 楼
发表于 2009-01-10 09:36 · 中国 贵州 安顺 电信
初级用户
★
积分 94
发帖 49
注册 2008-12-14 20:47
17年会员
UID 133884
性别 男
状态 离线
比如你在批处理里用%1表示那个参数的话,可以给%1加引号啊,这样:"%1"。
第 9 楼
发表于 2009-01-10 10:43 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
这个我也不是很清楚,不过你想实现的功能IE自已就已经带了,一个是安全设置中将你的黑名单添加到受限网站,不过还是可以访问,另一个就是启用IE分级后将所有黑名单添加到自定义网站列表中即可
49206C6F766520796F752067757973 54656C3A3133383238343036373837
第 10 楼
发表于 2009-01-10 21:23 · 中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
只要是参数就可以处理,但主要问题是:这种的参数在dos命令行就已经被解释,会出错或丢失.BAT得到的是解释后的参数.
试试能否把它写到txt文件,再在BAT里用for取出还差不多
第 11 楼
发表于 2009-01-13 14:54 · 中国 广西 南宁 电信
初级用户
★
积分 23
发帖 17
注册 2008-08-22 21:53
17年会员
UID 123905
性别 男
状态 离线
"%1" 试过了吗 ??要自己试才行,不是来求绝对的答案的
第 12 楼
Re 11楼
发表于 2009-01-13 16:25 · 美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
论坛跳转: