Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Green222
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 62
1

Записать имя каждого текстового файла в начало каждой строки этого же файла (кодировка файлов — UTF-8)

24.09.2014, 16:24. Просмотров 1177. Ответов 5
Метки нет (Все метки)

Подскажите программу или батник.
Проблема в том, что есть много TXT UTF-8 файлов, нужно взять имя файла и поместить его в начало каждой строки этого же файла. И так нужно сделать с каждым файлом в этой папке.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2014, 16:24
Ответы с готовыми решениями:

Как в начало каждой строки каждого текстового файла в текущем каталоге вставить имя этого же файла?
Здравствуйте, подскажите пожалуйста как в текущем каталоге, в начало каждой строки каждого...

Как в начало каждой строки текстового файла вставить заданное слово?
как в txt в каждую строку перед первым словом в строке написать слово mod? пустых строк нет ...

Добавить "0" в начало каждой строки текстового файла
Нужна помощь!В начало каждой строки в текстовом файле в цикле необходимо поставить 0. В файле...

Добавление расширения файла в конец каждой строки этого файла
Добрый вечер, Нужно решить следующую задачу: Ежедневно в папку c:/req скидывается файл....

Записать в начало каждой стоки текстового файла столько пробелов, сколько в ней встречается их
Здравствуйте, нужна помощь. Нужно разработать программу, которая ставит в начало каждой стоки...

5
Dragokas
Эксперт WindowsАвтор FAQ
17073 / 7128 / 861
Регистрация: 25.12.2011
Сообщений: 10,933
Записей в блоге: 16
24.09.2014, 17:11 2
Green222, UTF-8 с BOM или без ?
1
Green222
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 62
24.09.2014, 17:42  [ТС] 3
Dragokas, похоже что с BOM.
А имена файлов просто из цифр и точек, если это имеет значение.

Добавлено через 6 минут
Тему немного не правильно переименовали. Надо в каждую строку добавлять.
0
Dragokas
Эксперт WindowsАвтор FAQ
17073 / 7128 / 861
Регистрация: 25.12.2011
Сообщений: 10,933
Записей в блоге: 16
24.09.2014, 17:46 4
Тогда по-простому не получится. Команды интерпретатора не умеют такого. Только путем конвертирования в другой формат сторонним ПО.
Проще сделать на VBScript. Бинарное чтение.

Добавлено через 22 секунды
Цитата Сообщение от Green222 Посмотреть сообщение
Тему немного не правильно переименовали. Надо в каждую строку добавлять.
тем более.

Добавлено через 51 секунду
Пример какой-нибудь из пару строк дайте. Иходник и что будет.
Желательно в виде запакованных в ZIP файлов.
1
Green222
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 62
24.09.2014, 18:23  [ТС] 5
Тогда по-простому не получится. Команды интерпретатора не умеют такого.
Странно, вроде просто скопировать, вставить несколько раз, сохранить.

list.rar
0
Dragokas
Эксперт WindowsАвтор FAQ
17073 / 7128 / 861
Регистрация: 25.12.2011
Сообщений: 10,933
Записей в блоге: 16
24.09.2014, 20:36 6
Лучший ответ Сообщение было отмечено Green222 как решение

Решение

Цитата Сообщение от Green222 Посмотреть сообщение
Странно, вроде просто скопировать, вставить несколько раз, сохранить.
Нативно в CMD работа с юникодом не поддерживается.
Максимум, что доступно - сохранение в UTF16 (без BOM). Хотя его можно дописать.

Добавлено через 33 минуты
В принципе с UTF-8 еще можно поморочить голову.

Сделайте на всякий случай резервную копию обрабатываемых файлов.

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@echo off
SetLocal EnableExtensions
 
:: Укзать папку, откуда обрабатывать файлы TXT
set SrcFolder=.
set mask=*.txt
 
For /F "delims=" %%a in ('dir /b /a-d "%SrcFolder%\%mask%"') do (
  set "First="
  For /F "delims=" %%b in ('type "%SrcFolder%\%%a"') do (
    if not Defined First (
      set First=true
      call :WithBOM "%%b" "%%a:" "%SrcFolder%\%%a_"
    ) else (
      >>"%SrcFolder%\%%a_" echo=%%a: %%b
    )
  )
  >NUL move /y "%SrcFolder%\%%a_" "%%a"
)
pause
goto :eof
 
:WithBOM
  set "Text=%~1"
  set "BOM=%Text:~,3%"
  For /F "delims=" %%a in ("%BOM%%~2 %Text:~3%") do >>"%~3" echo=%%a
Exit /B
1
24.09.2014, 20:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2014, 20:36

В начало и конец каждой строки текстового файла добавить разделитель «|»
Задание: Даны три файла целых чисел одинакового размера. Создать текстовый файл, содержащий эти...

Вставить в начало каждой строки файла ее номер и записать преобразованные строки в новый файл
Дан текстовый файл. Вставить в начало каждой строки ее номер и записать преобразованные строки в...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru