转义变量的内容

Escape the content of a variable

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

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

我该怎么做?非常感谢。

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

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

试试这样的东西:

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

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