2016-06-25 12 views
1

Я застрял в пакетном скриптинге.Batch-file: извлечение строк из TXT-файла и их форматирование

У меня есть .txt файл с произвольным числом строк, как

alpha 
bravo 
charlie 
delta 

Мне нужно, чтобы получить эти строки в переменной в моей пакетный файл, как это:

"alpha","bravo","charlie,"delta" 

Было бы удивительным если бы я смог написать echo %selections% в конце и "alpha","bravo","charlie,"delta" был бы возвращен!

Число строк является переменной. Спасибо заранее!

+0

Что вы пробовали самостоятельно? Пожалуйста, обратите внимание, что StackOverflow не является бесплатной программой для написания кода! Прочитайте следующие разделы справки: [Какие темы можно задать здесь?] (Http://stackoverflow.com/help/on-topic) и [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask) – aschipfl

ответ

-1

Если вы используете питон,

fhand=read("filename.txt") 
    for line in fhand:  *#line reads each line of the textfile one by one* 
     words=line.split()*#words will store the words in each line as a list* 
     print words 
+1

Мне просто интересно: как у вас сложилось впечатление, что вопрос о скрипте batch-file-scripting может быть о 'python'? – zx485

1

Это можно сделать с помощью следующего пакетного кода:

@echo off 
setlocal EnableExtensions EnableDelayedExpansion 
set "Selections=" 
for /F "usebackq delims=" %%I in ("ListFile.txt") do set "Selections=!Selections!,"%%I"" 
rem Remove comma at beginning of the selections value. 
set "Selections=!Selections:~1!" 
echo !Selections! 
endlocal 

Для понимания используемых команд и как они работают, откройте окно командной строки, выполните есть следующие команды и очень тщательно читайте все страницы справки, отображаемые для каждой команды.

  • echo /?
  • endlocal /?
  • for /?
  • rem /?
  • set /?
  • setlocal /?

Примечание: Этот код не проверяет ListFile.txt существует. И он не проверяет, является ли файл пустым или содержит только пустые строки. И Для использования здесь пропускает строки, начинающиеся с точки с запятой.