这会使脚本/编码失败或更好吗? (特别关注剧本的第一部分)
我应该使用ELSE语句等吗?任何建议都将不胜感激!
echo Setting Static IP Information...
IF %POSID%==11 set IP_Addr=10.102.%DROPZERO%.105
IF %POSID%==12 set IP_Addr=10.102.%DROPZERO%.106
IF %POSID%==13 set IP_Addr=10.102.%DROPZERO%.107
IF %POSID%==14 set IP_Addr=10.102.%DROPZERO%.108
IF %POSID%==15 set IP_Addr=10.102.%DROPZERO%.109
IF %POSID%==21 set IP_Addr=10.102.%DROPZERO%.110
IF %POSID%==22 set IP_Addr=10.102.%DROPZERO%.111
IF %POSID%==23 set IP_Addr=10.102.%DROPZERO%.112
IF %POSID%==24 set IP_Addr=10.102.%DROPZERO%.113
IF %POSID%==25 set IP_Addr=10.102.%DROPZERO%.114
set D_Gate=10.102.%DROPZERO%.1
set Sub_Mask=255.255.255.0
netsh interface ip set address "!adapterName!" static %IP_Addr% %Sub_Mask% %D_Gate% 1 > output_net.txt
netsh interface ip set dns name="!adapterName!" static 10.98.1.26 primary >> output_net.txt
netsh interface ip add dns name="!adapterName!" 10.98.1.48 index=2 >> output_net.txt
答案 0 :(得分:1)
这就是我这样做的方式:
setlocal EnableDelayedExpansion
echo Setting Static IP Information...
set i=105
for %%a in (11 12 13 14 15 21 22 23 24 25) do (
set posNum[%%a]=!i!
set /A i+=1
)
set IP_Addr=10.102.%DROPZERO%.!posNum[%POSID%]!
有关批处理文件中阵列管理的更多详细信息,请参阅:this post