转义变量的内容

时间:2015-09-24 16:12:03

标签: batch-file escaping

在我的批处理脚本中,我需要将当前目录路径传递给程序,进行转义。

因此,当我的批处理脚本在C:\Program Files\中运行时,它必须将C:\\Program Files\\传递给被调用的程序。

我该怎么做?非常感谢。

背景:被调用的程序需要一个替换字符串用于正则表达式操作,因此在仅使用\时它将需要一个组参数。正则表达式操作所针对的数据由不接受相对路径或环境变量的软件使用。

1 个答案:

答案 0 :(得分:2)

我的第一个猜测是%~dp0批次所在的当前路径 但是还有%CD%,当前的工作目录。

尝试类似:

@echo off
setlocal
set "x=%CD%"
set "x=%x:\=\\%"
echo %x%

如@joey所述,您可以直接调用当前目录,如%CD:\=\\%