2013-02-15 82 views
0

我想设置此批处理文件以读取文本文件中的行 使用沿此行的东西。批处理文件读取空间之间的行设置值

for /f "tokens=* delims= " %%a in (RawData.txt) do (
set /a N+=1 
set v!N!=%%a 
) 

并且说例如它正在阅读的行是沿着这条线的东西。

20120901 0:00 9 

我希望它设置3个不同的值现在

value1 = 20120901 
value2 = 0:00 
value3 = 9 

假设每一行的文本文件中有3个不同的字符串。我想在两个空格之间设置值。

+1

您是否阅读过FOR文档? (从命令提示符输入“HELP FOR”)。您需要适当地设置“令牌”选项。 ''tokens = 1,2,3“'会给出'%a''%b'和'%c'中的值。 ''tokens = 2“'会给出'%a'中的第二个值 – dbenham 2013-02-15 17:38:21

回答

0

你已经非常接近了。

@echo off 
setlocal enabledelayedexpansion 
set N=0 
for /f "tokens=1-3" %%a in (RawData.txt) do (
    set /a N=!N!+1 
    call set v!N!=%%a 
    set /a N=!N!+1 
    call set v!N!=%%b 
    set /a N=!N!+1 
    call set v!N!=%%c 
) 

我想。我没有测试它。第一行为RawData.txt的第一行,%v4%%v6,第二行为%v1%%v3%,依此类推。

相关问题