Board logo

标题: 批处理在被调用时,如果参数很长很复杂那能处理吗? [打印本页]

作者: hygh     时间: 2009-1-8 02:37    标题: 批处理在被调用时,如果参数很长很复杂那能处理吗?

调用时的参数无法确定会有什么字符,有不少会是像下面红色字部分的,甚至有更复杂的,那能在批处理里面进行完整处理吗?
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
作者: everest79     时间: 2009-1-8 06:28
可以
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%"
注意引号就可以了
作者: hygh     时间: 2009-1-8 14:20
你可能误会了,我的意思是:某个程序是以下面的格式调用批处理“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
作者: everest79     时间: 2009-1-8 16:54
我想说的是,试试更健康,例子已经有了,你为啥不试呢
作者: hygh     时间: 2009-1-8 17:16
不是我不想试啊,只是我给出做例子的那段参数不是我定义的,那是批处理以外的EXE程序执行某项操作时定义的,我根本无法给它加引号。
作者: everest79     时间: 2009-1-9 13:23
批处理是你自已写的,难道那个与之配套的应用程序是你打网上下载的?
作者: hygh     时间: 2009-1-10 03:29
我写的这个批处理目的是代替IE的原始位置,在任何程序调用IE打开网站的时候,批处理将先分析要打开的网站是否是黑名单中,如果是将忽略,如果否将调用被移到其它位置的IE主程序打开网站。
现在批处理已经基本完成,不带特殊符号的参数都能处理了,就是像上面的参数就不知怎么处理。
作者: linee     时间: 2009-1-10 09:36
比如你在批处理里用%1表示那个参数的话,可以给%1加引号啊,这样:"%1"。
作者: everest79     时间: 2009-1-10 10:43
这个我也不是很清楚,不过你想实现的功能IE自已就已经带了,一个是安全设置中将你的黑名单添加到受限网站,不过还是可以访问,另一个就是启用IE分级后将所有黑名单添加到自定义网站列表中即可
作者: netbenton     时间: 2009-1-10 21:23
只要是参数就可以处理,但主要问题是:这种的参数在dos命令行就已经被解释,会出错或丢失.BAT得到的是解释后的参数.

试试能否把它写到txt文件,再在BAT里用for取出还差不多
作者: kurt101     时间: 2009-1-13 14:54
"%1"  试过了吗 ??要自己试才行,不是来求绝对的答案的
作者: HAT     时间: 2009-1-13 16:25    标题: Re 11楼

肯定不行
你自己试试就知道了