在批处理文件中引用变量的正确方法是什么?
我发现像"%~dp0"
这样的东西不起作用,因为事实证明它类似于"C:\Windows\"
,而后者又被解释为在末尾有一个转义引号。
哦,当然嵌入式引号总是存在问题 - 有什么方法可以逃脱它们吗?
答案 0 :(得分:0)
你在这里混合了一些不同的引用/逃避问题
批处理本身对引号和转义的规则与reg
不同。
在批处理中,插入符号会转义下一个字符,但仅在引号之外(转义引号内的感叹号只有一个例外)。
reg.exe
使用\
来转义下一个字符,编辑:但似乎它只会转义引号字符。
要嵌入单引号,使用两个引号会更容易
内容末尾只有一个反斜杠是一个问题,因为它逃脱了最后一个引用。
Reg Add HKCU\Temp /d "One""two\\" /t REG_SZ
添加One"two\
答案 1 :(得分:-1)
您想引用哪个变量?如果您已在环境/系统变量中定义了变量,那么您可以将其引用为%variable_name%
。
例如,如果您需要引用'path'变量,那么{{1是正确的方式
答案 2 :(得分:-1)
如果你想将带空格的东西传递给变量使用`(键盘的左上角),这也应该处理嵌入式引号。如果要将带空格的变量传递给另一个批处理,请使用双引号。