所以这是我在这里问的第一个问题,所以对我很轻松。
set /p num=
for /l %%a in (1,1,%num%) do set /p line%%a=
for /l %%b in (1,1,%num%) do (echo %line%%b%)>>file.txt
问题是我尝试在字符串中设置一个参数,那么还有什么方法可以做到这一点?
答案 0 :(得分:1)
set /p num=
for /l %%a in (1,1,%num%) do set /p line%%a=
setlocal enableDelayedExpansion
for /l %%b in (1,1,%num%) do (echo !line%%b!)>>file.txt
这个?
答案 1 :(得分:0)
延迟扩展将导致变量在执行时扩展 时间而不是在解析时,这个选项打开了
SETLOCAL
命令。当延迟扩展实际上是变量可能 使用!variable_name!
引用(除了正常情况%variable_name%
)
set "num=2"
set /p "num=enter number (%num%) "
for /l %%a in (1,1,%num%) do set /p "line%%a=line%%a "
SETLOCAL enabledelayedexpansion
(for /l %%b in (1,1,%num%) do echo !line%%b!)>>file.txt
ENDLOCAL
答案 2 :(得分:0)
setlocal enabledelayedexpansion
for /l %%b in (1,1,%num%) do echo !line%%b!>>file.txt
或者,如果您不想使用延迟扩展:
for /l %%b in (1,1,%num%) do echo %%line%%b%%>>file.txt