2015-05-20 91 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