Board logo

标题: 【批处理】这个数字去哪里了? [打印本页]

作者: jiataifeng     时间: 2007-11-8 18:33    标题: 【批处理】这个数字去哪里了?
@echo off
setlocal enabledelayedexpansion
set numbers= %91% %2% %3% %4% %5% %6% %7% %8%
echo numbers:%numbers%
echo. & pause

=============================
运行一下,晕了,怎么没有了数组字‘9'了,是系统的问题吗,怎么解决呢。谢谢!

作者: z310394543     时间: 2007-11-8 19:03
我也运行了下
好象第一个%%里面只能放一个数?
高人来解

作者: 220110     时间: 2007-11-8 20:30
试试
set numbers= %9% %1% %2% %3% %4% %5% %6% %7% %8%

作者: lxmxn     时间: 2007-11-8 21:31
变量最好别用数字开头。

作者: jiataifeng     时间: 2007-11-8 21:49
也是没有 9 啊

作者: zh159     时间: 2007-11-9 00:07
很简单,批处理把第一位看作%1参数看了,而后面的变量,则便成了这样:

%1% %2% %3% %4% %5% %6% %7% %8% %9%

变量并不是%数字%,而是%(空格)%

作者: jiataifeng     时间: 2007-11-9 01:13
如何给数组赋初值呢,我想要
a[1]=1,a[2]=2,...的效果

作者: zh159     时间: 2007-11-9 13:48
@echo off
set a=1
set a=2
set a=3
set a=4
set a=5
for /l %%n in (1,1,5) do call echo %%a%%
pause


@echo off
setlocal enabledelayedexpansion
set a=1
set a=2
set a=3
set a=4
set a=5
for /l %%n in (1,1,5) do echo !a!
pause


Last edited by zh159 on 2007-11-9 at 01:49 PM ]

作者: uforange     时间: 2007-11-9 15:59
顶顶顶顶顶顶顶~!~!学习中~!~!