Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - txt в csv

Ответить
Настройки темы
CMD/BAT - txt в csv

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте!
Есть текстовый файл 190124.txt (имя постоянно будет меняться) содержания 5:4:7:8:4: (будет меняться)
Нужно на выходе получить содержимое файла 5;4;7;8;4; файл должен быть csv (190124.csv)
Как это проще всего реализовать?

Отправлено: 15:39, 25-01-2019

 

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата porokh:
содержания 5:4:7:8:4: »
я правильно понимаю что в файле источнике единственная строка?
Код: Выделить весь код
@echo off
set "maska=1*"

for %%a in ("%maska%.txt") do <"%%~a">"%%~na.csv" (set /p s=& call echo %%s::=;%%)
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:15, 25-01-2019 | #11



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Кол-во строк меняется.
Файл технический, данные потом оператор расшифровывает.

Отправлено: 00:55, 26-01-2019 | #12


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата porokh:
Кол-во строк меняется »
?
csv это зачастую однострочник, нигде в кодах выше не собирали строки в одну и вы не жаловались, поэтому и предположил что строка одна.

Отправлено: 03:38, 26-01-2019 | #13


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата alpap:
csv это зачастую однострочник »
это вырожденный случай
возможно, характерный для какой-то конкретной специфичной области


Цитата porokh:
Как это проще всего реализовать? »
если в реальности во входном файле не цифры, а более произвольное содержание - отказаться от использования cmd/bat:
либо найти готовую утилиту, либо перейти на powershell
штатными средствами это решается и на vbs, но переходить на него сейчас - полный бесперспективняк, а в jscript не реализована простая замена текста
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:41, 26-01-2019 | #14


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата alpap:
нигде в кодах выше не собирали строки в одну »
Но и не разбирали .

Отправлено: 15:19, 26-01-2019 | #15


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата Iska:
Но и не разбирали »
не понял. Ну да, там строки просто не трогали (за исключением внутренних изменений), а выше я написал что представлял себе csv как однострочник и мой код выше правильно будет работать с файлом из одной строки, вернее заберет из файла только первую строку, изменит ее и поместит в новый, остальные строки не тронет, что будет уже неправильно с учетом дополнения Busla
Цитата Busla:
это вырожденный случай »
насколько я понял ТС в теме и я не стал зацикливаться на этом.

Отправлено: 20:42, 26-01-2019 | #16


Ветеран


Contributor


Сообщения: 2726
Благодарности: 1696

Профиль | Отправить PM | Цитировать


alpap, решение элегантнейшее, хоть и не подходит клиенту

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 21:25, 26-01-2019 | #17


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1187
Благодарности: 497

Профиль | Отправить PM | Цитировать


Цитата Busla:
в jscript не реализована простая замена текста »
что значит простая замена?
В смысле это:
Код: Выделить весь код
stringObj.replace(rgExp, replaceText)
?

-------
scio me nihil scire. Ѫ


Отправлено: 21:57, 26-01-2019 | #18


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата alpap:
не понял. »
Цитата Iska:
porokh, на WSH:
Код: Выделить весь код
…
		With objFSO.OpenTextFile(strSourceFile)
			strContent = .ReadAll()
			.Close
		End With
		
		With objFSO.CreateTextFile(objFSO.GetBaseName(strSourceFile) & ".csv", True)
			.Write Replace(strContent, ":", ";")
			.Close
		End With
…
»
левые кадеты, правые кадеты, какая к чёрту разница, если у тебя есть ружьё одна строка или несколько строк — неважно, читаем-пишем всё зараз.


Цитата Busla:
штатными средствами это решается и на vbs, но переходить на него сейчас - полный бесперспективняк »
«А я сынок, всё одну, всё одну»™. Вы пишете, как будто это что-то плохое.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:01, 26-01-2019 | #19


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


YuS_2, по-моему, очевидно, что regexp - это не простая замена подстрок

Отправлено: 14:28, 27-01-2019 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - txt в csv

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Разделение одного txt файла на несколько txt файлов Alexander_88 Скриптовые языки администрирования Windows 3 25-11-2018 23:50
CMD/BAT - Извлечение строк in.txt -> out.txt в определенном порядке+форматирование текста. ppm85 Скриптовые языки администрирования Windows 6 29-09-2015 11:29
txt to csv vanoman Хочу все знать 2 06-09-2014 11:51
CMD/BAT - [решено] Периеминование файла doc.csv в Документ_дата_время.csv kagorec Скриптовые языки администрирования Windows 2 29-03-2014 18:40
[решено] Вставить строчку из одного txt в оределённое место другого txt ZeroCrash AutoIt 7 13-07-2009 07:35




 
Переход