批处理文件 - 动态显示巨大的变量列表?

时间:2015-07-07 03:20:51

标签: batch-file

我想创建一个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

2 个答案:

答案 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 "