Windows 循环变量的批处理脚本多字母

Windows 循环变量的批处理脚本多字母,windows,variables,batch-file,Windows,Variables,Batch File,因此,我有一个基本的批处理脚本,它迭代目录并打印出每个目录名: for /R /D %%d in (.\*) do ( echo %%d ) 但我不喜欢单字符变量d,我希望它更具描述性,比如“directory” 对于(.*)中的/R/D%%目录,请执行以下操作( echo%%目录 ) 现在我得到错误“%directory此时意外” 为什么它只接受一个单字母变量,而不接受多字母变量?这正是该语言的工作方式,从DOS早期就开始了 但是,没有什么可以阻止您将该变量分配给另一个名称较长的变量

因此,我有一个基本的批处理脚本,它迭代目录并打印出每个目录名:

for /R /D %%d in (.\*) do (
    echo %%d
)
但我不喜欢单字符变量d,我希望它更具描述性,比如“directory”

对于(.*)中的/R/D%%目录,请执行以下操作( echo%%目录 )

现在我得到错误“%directory此时意外”


为什么它只接受一个单字母变量,而不接受多字母变量?

这正是该语言的工作方式,从DOS早期就开始了

但是,没有什么可以阻止您将该变量分配给另一个名称较长的变量-请参见
set


我不在乎这样一个简短的例子,但当你的环体变得更加充实时,它会派上用场。

如果你想争论Micosoft的设计决策,那么这个问答论坛可能不是你的最佳选择……我不知道这是一个设计决策,也不想争论它。我只是好奇为什么我的代码没有使用多字母变量。如果微软能为他们所有的产品运行公开的bug报告和变更请求数据库,你可以向他们询问这个变更。据我所知,对于大多数产品,Microsoft不提供公开可用的Changerequest和Bugreport工具。