gpt4 book ai didi

windows - 转义 Windows 批处理文件中的符号

转载 作者:可可西里 更新时间:2023-11-01 13:24:27 24 4
gpt4 key购买 nike

我知道你可以使用帽子字符在批处理文件中转义和号

例如

echo a ^& b
a & b

但是我正在使用命令

for /f "tokens=*" %%A IN ('DIR /B /A-D /S .acl') DO ProcessACL.cmd "%%A"

这是在当前目录或当前目录的子目录中查找名为“.acl”的所有文件。

问题是,我正在查找包含“&”字符的路径名(不,它们不能重命名),我需要一种自动转义和号并调用第二个批处理文件的方法转义路径作为参数。

rem ProcessACL.cmd
echo %1

最佳答案

问题不在于转义,它似乎在第二个脚本中。

如果有这样一行

echo %1

然后扩展并失败:

echo You & me.acl

最好使用像这样的延迟扩展

setlocal EnableDelayedExpansion
set "var=%~1"
echo !var!

为了避免参数中感叹号 ! 的问题,第一个 set 应该在 DisableDelayedExpansion 上下文中使用。

setlocal DisableDelayedExpansion
set "var=%~1"
setlocal EnableDelayedExpansion
echo !var!

关于windows - 转义 Windows 批处理文件中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com