2017-01-29 6 views
0

У меня есть следующий файл .txt:прочитать файл построчно и сохранить его в переменной командного файла

Marco 
Paolo 
Antonio 

Я хочу, чтобы прочитать его строка за линией, и для каждой строки, я хочу, чтобы назначить значение переменной .txt для переменной. Предположив моя переменная name, поток:

  • Читайте первую строку из файла
  • Присвоить name = «Marco»
  • ли некоторые задачи с name, пусть сидел set first= %name%
  • Читать вторую строку из файла
  • Assign name = "Paolo" Как это сделать?
+4

из командной строки прочитать вывод 'для /? '(Ищите' для/ф 'синтаксис для обработки файлов) и' set /? ',' setlocal /? '(читать о' delayed expansion') –

+4

Возможный дубликат [Пакетная справка Windows в настройке переменной из вывода команды] (http://stackoverflow.com/вопросы/1746475/окна-периодической помощь в настройке-A-переменный из командно-выходов). Прочтите ответ Джоуи. – JosefZ

ответ

0

Это будет читать файл в массив и присвоить каждую строку в переменную и отображать их

@echo off 
set "File2Read=file.txt" 
If Not Exist "%File2Read%" (Goto :Error) 
rem This will read a file into an array of variables and populate it 
setlocal EnableExtensions EnableDelayedExpansion 
for /f "delims=" %%a in ('Type "%File2Read%"') do (
    set /a count+=1 
    set "Line[!count!]=%%a" 
) 
rem Display array elements 
For /L %%i in (1,1,%Count%) do (
    echo "Var%%i" is assigned to ==^> "!Line[%%i]!" 
) 
pause>nul 
Exit 
::*************************************************** 
:Error 
cls & Color 4C 
echo(
echo The file "%File2Read%" dos not exist ! 
Pause>nul 
exit /b 
::*************************************************** 
+0

Можно ли это сделать без массива? –

+0

@FazleRabbi Почему это решение не работает для вас? Какова ваша цель? объясните больше своей цели! или отредактируйте свой вопрос и опубликуйте весь код! – Hackoo

Смежные вопросы