2013-02-15 5 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

ответ

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 
) 

думаю. Я не проверял. Вы получите %v1% через %v3% для первой строки в RawData.txt, %v4% через %v6 для второго и так далее.