2013-02-15 75 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%,依此類推。