我想创建一个100x100的变量网格,与此类似(变量名称):
1x1 1x2 1x3
2x1 2x2 2x3
3x1 3x2 3x3
等等,一直到100x100。是否有一种简单的方法可以做到这一点,而无需为10,000个变量输入echo,只需使用一些for循环? 请记住,我想要显示一行100,然后显示100行的下一行,所以它们不在一个长列表中,除非我将模式设置为100x100?我知道这很奇怪,但我想看看我是否可以在批处理文件中创建图形功能。
谢谢。
修改
如何使用for / L循环在一行中回显多个变量?
for /L %%a in (0, 1, 5) do echo %%a
期望的输出:
0 1 2 3 4 5
实际输出:
0
1
2
3
4
5
答案 0 :(得分:1)
您可以在同一个变量中连接多个值(表示一行值),然后只需在简单的@echo off
setlocal EnableDelayedExpansion
rem Get NxM dimensions from Batch file parameters
set /a N=%1, M=%2
rem Create the two-dimensional array with 4-digits random numbers
for /L %%i in (1,1,%N%) do (
for /L %%j in (1,1,%M%) do (
set /A "number=!random! %% 10000"
set "number= !number!"
set "a%%ix%%j=!number:~-4!"
)
)
rem Show the array line by line
for /L %%i in (1,1,%N%) do (
set "line="
for /L %%j in (1,1,%M%) do (
set "line=!line! !a%%ix%%j!"
)
echo !line!
)
命令中显示它:
C:\> test.bat 10 15
4216 3058 9311 5626 1461 464 3926 3597 5312 5074 2797 7654 3306 5763 3359
1203 8313 8271 3591 3588 2415 6424 9730 8095 5958 8599 3062 4165 6671 6192
7140 9204 60 8649 9962 3374 1690 3500 331 6314 2579 3194 8451 6682 3202
2275 6582 877 8424 3732 2152 6741 1791 2544 2979 4763 1949 3282 5284 2578
9628 2193 4806 8505 3480 2517 6596 9029 2776 2377 6105 3007 8464 3826 2090
281 2278 2559 7318 3207 500 98 2061 8572 4653 9646 6815 5218 2067 2512
9862 8686 3945 5059 1191 947 9589 1983 8213 8246 408 5458 3286 7890 1280
1297 6154 8701 5214 769 1305 1946 3172 5201 5245 2113 2865 5866 8864 6476
1760 3050 3014 8195 1325 4029 2302 9466 5002 2622 741 8665 7090 9580 3388
5245 7004 9264 1708 4173 9041 8462 2055 9215 3809 2362 4400 1308 3411 5677
输出示例:
{{1}}
答案 1 :(得分:0)
以下是如何获得上述示例所需的输出。请注意,引号不是必需的,但建议您在%% a之后知道尾随空格。
for /L %%a in (0, 1, 5) do <nul set/p "=%%a "