标题: [已结]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:
最外面的黑色双引号,是必须的,因为字符串包含空格;
用两个双引号(红色)括起一个双引号(蓝色),来表示一个双引号。 |
|
感谢,非常感谢!
同时也感谢大家的帮忙.....