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]=1
set a[2]=2
set a[3]=3
set a[4]=4
set a[5]=5
for /l %%n in (1,1,5) do call echo %%a[%%n]%%
pause

@echo off
setlocal enabledelayedexpansion
set a[1]=1
set a[2]=2
set a[3]=3
set a[4]=4
set a[5]=5
for /l %%n in (1,1,5) do echo !a[%%n]!
pause
[ Last edited by zh159 on 2007-11-9 at 01:49 PM ]
作者: uforange     时间: 2007-11-9 15:59
顶顶顶顶顶顶顶~!~!学习中~!~!