2015-05-20 53 views
0

下面是一个for循环到一个文本文件中的每一行保存到其自己的变量:如何在for循环中回显嵌套变量?

@echo off 
setlocal enableextensions enableDelayedExpansion 

set count=0 
for /f "tokens=*" %%a in (file.txt) do (
    set /a count=!count! + 1 
    set var_!count!=%%a 
) 

endlocal 

我想每个变量的内容保存到一个单独的新的文本文件。我怎样才能做到这一点?我尝试了以下。但它不起作用,因为!var_!count !!是变量内的变量。

@echo off 
setlocal enableextensions enableDelayedExpansion 

set count=0 
for /f "tokens=*" %%a in (file.txt) do (
    set /a count=!count! + 1 
    set var_!count!=%%a 
    echo !var_!count!!>file_!count!.txt 
) 

endlocal 

回答

2
@echo off 
setlocal enableextensions enableDelayedExpansion 

set count=0 
for /f "tokens=*" %%a in (file.txt) do (
    set /a "count+=1" 
    set "var_!count!=%%a" 
    for %%b in (!count!) do >file_!count!.txt echo !var_%%b! 
) 

endlocal 
+0

这是快!非常感谢,效果很好!多么有趣的解决方法:) – schmiddl