批处理文件 - 支持以百分号结尾的语法来访问参数
Batch files - Support of syntax with ending percent sign to access arguments
批处理文件 - 支持以百分号结尾的语法来访问参数
我在 Windows XP 系统上注意到,在批处理文件中,即使使用 %\d% 语法也可以访问命令行参数。
你可以用这个来验证它:
@echo off
echo %%1:"%1"
echo %%1%%:"%1%"
if %1==%1% (
echo yes, %%1==%%1%%
)
我找不到任何关于这个东西的参考,我看到的文档只提到了 %\d 语法。
我想知道它是官方功能(至少在某些版本的命令行上)、未记录的功能还是意外错误以及它在哪些 DOS 版本和 Windows 上有效.
编辑:
我认为发生的事情也可能是解释器忽略百分号的结果,就像在回显消息中一样。
不知道有没有办法验证这个假设
一行中的单个百分号将被删除,仅此而已。
另见 cmd.exe parser rules
批处理文件 - 支持以百分号结尾的语法来访问参数
我在 Windows XP 系统上注意到,在批处理文件中,即使使用 %\d% 语法也可以访问命令行参数。
你可以用这个来验证它:
@echo off
echo %%1:"%1"
echo %%1%%:"%1%"
if %1==%1% (
echo yes, %%1==%%1%%
)
我找不到任何关于这个东西的参考,我看到的文档只提到了 %\d 语法。
我想知道它是官方功能(至少在某些版本的命令行上)、未记录的功能还是意外错误以及它在哪些 DOS 版本和 Windows 上有效.
编辑:
我认为发生的事情也可能是解释器忽略百分号的结果,就像在回显消息中一样。
不知道有没有办法验证这个假设
一行中的单个百分号将被删除,仅此而已。
另见 cmd.exe parser rules