Board logo

标题: [已结]reg add 遇到的问题:双引号转义 [打印本页]

作者: sany217     时间: 2008-11-18 23:17    标题: [已结]reg add 遇到的问题:双引号转义

请教高手

比如要在HKEY_CLASSES_ROOT\batfile\shell\runas\command 键下添加一个值

名称:默认
类型:REG_SZ
数据:"%1" %*
就是那个数据,带引号的变量,中间还有空格,最后一个是通配符

效果见图片


[ Last edited by HAT on 2008-11-19 at 12:33 ]
作者: HAT     时间: 2008-11-18 23:40
你的代码是什么?遇到的问题是什么?
作者: sany217     时间: 2008-11-18 23:43    标题: 我是这么写的,可是不行

reg add HKEY_CLASSES_ROOT\batfile\shell\runas\command /ve /d ^"%%1^" %%* /f
作者: HAT     时间: 2008-11-18 23:45
“不行”的具体表现是什么?
你是在命令行解释器中运行的?还是在批处理中运行的?
作者: sany217     时间: 2008-11-18 23:51
我是用的批处理,我在后面加了个pause参数
看到的结果是
"错误:命令行参数太多“
作者: HAT     时间: 2008-11-19 00:04
下次提问,建议把问题描述(如3 、5楼)在顶楼发帖时就一次性讲清楚。而不是别人问一句,自己再答一句。
@echo off
reg add HKEY_CLASSES_ROOT\batfile\shell\runas\command /ve /d """"%%1""" %%*" /f

作者: sany217     时间: 2008-11-19 00:12


  Quote:
Originally posted by HAT at 2008-11-19 12:04 AM:
下次提问,建议把问题描述(如3 、5楼)在顶楼发帖时就一次性讲清楚。而不是别人问一句,自己再答一句。
[code]@echo off
reg add HKEY_CLASSES_ROOT\batfile\ ...

谢谢帮助...
同时也谢版主教训..
只是,为什么用双引号,能不能麻烦介绍一下啊

[ Last edited by sany217 on 2008-11-19 at 00:14 ]
作者: HAT     时间: 2008-11-19 00:26


  Quote:
@echo off
reg add HKEY_CLASSES_ROOT\batfile\shell\runas\command /ve /d """"%%1""" %%*" /f

这样清楚了没?

[ Last edited by HAT on 2008-11-19 at 00:28 ]
作者: sany217     时间: 2008-11-19 00:36


  Quote:
Originally posted by HAT at 2008-11-19 12:26 AM:
这样清楚了没?

[ Last edited by HAT on 2008-11-19 at 00:28 ]

这个我看得懂,就是想问一下,那对蓝色引号和其外的一对红引号的意思或者说是作用吧!
我只知道可用一对引号是定界符,可是那么两对是....?
作者: yishanju     时间: 2008-11-19 00:36
光给代码是没用的
没有相关文字说明-_-等于专门义务给人写代码的
作者: HAT     时间: 2008-11-19 10:05    标题: Re 10楼

讲解的重任就交给你了
来吧大侠
作者: Saber     时间: 2008-11-19 10:21

reg add HKEY_CLASSES_ROOT\batfile\shell\runas\command /ve /d "\"%%1\" %%*" /f
这样写应该更清楚了吧。

[ Last edited by Saber on 2008-11-19 at 10:24 ]
作者: HAT     时间: 2008-11-19 10:27    标题: Re 12楼

批处理中的转义方法和命令行中的转义方法是不一样的,你试试就知道了,呵呵。
作者: sany217     时间: 2008-11-19 12:30
好像是了解了,
先谢谢大家了。

这批处理中的符号还真是博大精深啊。
学了这么长时间批处理,还是没完全搞明白这些,
像^、%、之类的东西已经是够呛了
现在怎么又跑出来这些引号和斜杠了啊?
有没有高手给个这方面的教程啊?
作者: tireless     时间: 2008-11-19 13:20


  Quote:
@echo off
reg add HKEY_CLASSES_ROOT\batfile\shell\runas\command /ve /d """"%%1""" %%*" /f

最外面的黑色双引号,是必须的,因为字符串包含空格;
用两个双引号(红色)括起一个双引号(蓝色),来表示一个双引号。
——————————————————————————————————————
更新:

          可以用 \ 来转义
@echo off
reg add HKEY_CLASSES_ROOT\batfile\shell\runas\command /ve /d "\"%%1\" %%*" /f
[ Last edited by tireless on 2009-5-28 at 08:50 ]
作者: sany217     时间: 2008-11-19 13:48


  Quote:
Originally posted by tireless at 2008-11-19 01:20 PM:

最外面的黑色双引号,是必须的,因为字符串包含空格;
用两个双引号(红色)括起一个双引号(蓝色),来表示一个双引号。

感谢,非常感谢!
同时也感谢大家的帮忙.....