批量。字符串内的参数?

时间:2015-04-03 21:58:46

标签: string batch-file parameters

所以这是我在这里问的第一个问题,所以对我很轻松。

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 

问题是我尝试在字符串中设置一个参数,那么还有什么方法可以做到这一点?

3 个答案:

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

EnableDelayedExpansion

  

延迟扩展将导致变量在执行时扩展   时间而不是在解析时,这个选项打开了   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