中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-19 16:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理中数组的疑问, 查看 1,231 回复 9
楼 主 批处理中数组的疑问, 发表于 2007-11-08 16:32 ·  中国 江苏 无锡 电信
初级用户
积分 28
发帖 11
注册 2007-11-08 14:33
UID 102062
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
set number1=%random% %random% %random% %random% %random%
set number2=%random% %random% %random% %random% %random%
echo 输出number1的第m(令m=4)个分量:? 输出number2的第n(令n=3)分量: ?
pause
goto :eof


==========================
主要是想同时输出两个数组的指定分量,怎么做到呢?谢谢阅读~
2 发表于 2007-11-08 16:47 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
UID 99469
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
set /p num1=请输入:
set /p num2=请输入:
set num=0
set number1=%random% %random% %random% %random% %random%
set number2=%random% %random% %random% %random% %random%
for %%i in (%number1%) do (
set /a num+=1
if !num!==%num1% set /p=%%i <nul
)
set num=0
for %%i in (%number2%) do (
set /a num+=1
if !num!==%num2% set /p=%%i <nul
)
pause
goto :eof
3 发表于 2007-11-08 16:53 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
UID 99469
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
set /p num1=请输入:
set /p num2=请输入:
set num=0
set number1=%random% %random% %random% %random% %random%
set number2=%random% %random% %random% %random% %random%
call :js "%number1%" "%num1%"
call :js "%number2%" "%num2%"
pause
goto :eof

:js
set num=0
for %%i in (%~1) do (
set /a num+=1
if !num!==%~2 set /p=%%i <nul
)
4 发表于 2007-11-08 16:56 ·  中国 江苏 无锡 电信
初级用户
积分 28
发帖 11
注册 2007-11-08 14:33
UID 102062
性别 男
状态 离线
谢谢你能给我回复,你的方法在输出时非常有效。
同时我想问一下,当这两个数组的两个指定分量为另一函数或命令的参数时,有没有办法呢,如果碰到,能否回避呢。
总之,谢谢啦~
5 发表于 2007-11-08 16:58 ·  中国 江苏 无锡 电信
初级用户
积分 28
发帖 11
注册 2007-11-08 14:33
UID 102062
性别 男
状态 离线
谢谢,祝你每天有个好心情~
6 发表于 2007-11-08 17:01 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
UID 99469
性别 男
状态 离线
Originally posted by jiataifeng at 2007-11-8 04:56 PM:

同时我想问一下,当这两个数组的两个指定分量为另一函数或命令的参数时,有没有办法呢,如果碰到,能否回避呢。


没理解
7 发表于 2007-11-08 17:11 ·  中国 江苏 无锡 电信
初级用户
积分 28
发帖 11
注册 2007-11-08 14:33
UID 102062
性别 男
状态 离线
举个例子,比如绑定arp的命令
arp -s IP地址 物理地址
IP地址和物理地址分别在两个数组中
8 发表于 2007-11-08 17:19 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
UID 99469
性别 男
状态 离线
可以啊,把输出改为赋值就行了。
9 发表于 2007-11-08 17:47 ·  中国 江苏 无锡 电信
初级用户
积分 28
发帖 11
注册 2007-11-08 14:33
UID 102062
性别 男
状态 离线
谢谢,很不错~
10 发表于 2007-12-01 09:25 ·  中国 河北 石家庄 联通
初级用户
积分 122
发帖 6
注册 2003-09-09 00:00
UID 9647
性别 男
状态 离线
Originally posted by abcd at 2007-11-8 05:19 PM:
可以啊,把输出改为赋值就行了。

几个问题:
1)如何对数组中的某一个元素进行赋值?请具体写出示例代码吧!
2)上面贴子中的代码,给出了如何定义固定长度数组的方法,是不是可以(如何)定义可变的数组?
3)数组的最大长度有限制吗?
论坛跳转: