gpt4 book ai didi

windows - 为什么 appcmd.exe 在批处理文件中执行时表现不同?

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

我有以下 appcmd 添加 IIS7 的 ISAPI 和 CGI​​ 限制的异常(exception)。我添加的异常应该如下所示:

c:\perl\bin\perl.exe "%s"%s

这是命令行:

appcmd set config -section:isapiCgiRestriction "-+[path='c:\perl\bin\perl.exe \"%s\" %s', allowed='true', description='Perl CGI']"

如果从命令行执行它,它会正确地执行此操作,但是如果我在 .cmd 批处理文件中执行它,路径会被破坏并最终看起来像:

c:\perl\bin\perl.exe "s

问题似乎出现了,因为我必须转义第一个 %s perl.exe 参数周围的引号。但是为什么这在批处理文件中会有不同的表现有点令人费解。

谁能解释为什么会这样?

最佳答案

问题是命令处理器读取你的 "%s"%s 并找到两个数学运算 % 符号,所以这会产生一个有效的批处理变量(即 %"%)。在将其扩展为空之后,只剩下你的 "s

您可以通过将批处理文件中的单个 %-sign 加倍来转义它,如下所示:

c:\perl\bin\perl.exe "%%s" %%s

关于windows - 为什么 appcmd.exe 在批处理文件中执行时表现不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3666780/

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