以下代码接受批处理文件的所有命令行参数。就我而言,我有大约 30 个命令行参数,它们都是 1、2 或 3 的数字。我接受它们然后想将它们重新分配给其他字符。我想要每个var,如果是1,就改成/*,如果是2,就改成*/,如果是3,就改成#。
第一部分效果很好,这是重新分配的第二部分,我无法获取其语法。
SETLOCAL ENABLEDELAYEDEXPANSION
set count=1
FOR %%i IN (%*) DO (
set var!count!=%%i
set var!count!=!var!count!:1=/*! <--don't work
set var!count!=!var!count!:2=*/! <--don't work
set var!count!=!var!count!:3=#! <--don't work
set /a count=!count!+1
)
问题是访问方式array成员。
在您的情况下,最好的方法似乎是使用临时变量。
SETLOCAL ENABLEDELAYEDEXPANSION
set count=1
FOR %%i IN (%*) DO (
set "temp=%%i"
set "temp=!temp:1=/*!"
set "temp=!temp:2=*/!"
set "temp=!temp:3=#!"
set "var!count!=!temp!"
set /a count+=1
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)