如何正确引用批处理文件中的内容?

时间:2011-08-23 12:27:42

标签: batch-file quotes

在批处理文件中引用变量的正确方法是什么?

我发现像"%~dp0"这样的东西不起作用,因为事实证明它类似于"C:\Windows\",而后者又被解释为在末尾有一个转义引号。

哦,当然嵌入式引号总是存在问题 - 有什么方法可以逃脱它们吗?

3 个答案:

答案 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)

如果你想将带空格的东西传递给变量使用`(键盘的左上角),这也应该处理嵌入式引号。如果要将带空格的变量传递给另一个批处理,请使用双引号。