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

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

Ответить
Настройки темы
CMD/BAT - Слияние txt и вывод всех файлов в Unicode

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


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

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


Добрый день! Есть множество txt файлов в определенной папке. Подскажите как их все переделать в кодировку Unicode (UCS-2 LE BOM)

P.S. Началось с того, что требовалось собрать объединение содержимого (есть русский язык) одноимённых текстовых файлов из нескольких соседних директорий.
Нашел код:
Код: Выделить весь код
@echo off
chcp 1251 
2>nul del/a/f *.txt
 
for /f "delims=" %%i in ('2^>nul dir/a-d/b/s "*.txt"') do (
 set "*%%~nxi=*"
)
for /f "delims=*=" %%i in ('set *') do (
 for /f "delims=" %%j in ('2^>nul dir/a-d/b/s "%%i"') do (
  <"%%j">>"%%i" more
 )
)
 
exit/b
В конечном итоге все файлики меняли свою кодировку с Unicode (UCS-2 LE BOM) на ANSI (win 1251). Как сделать так чтобы кодировка файлов оставалась неизменной?


P.S.S.
Видел такую схему для смены перекодировки:
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions

Set $FILE=File.txt
Set $TEMP=File.tmp

CHCP 1251
Echo яю>%$TEMP%
CMD /U /C Type %$FILE% >>%$TEMP%

If Exist %$TEMP% DEL /F/Q %$FILE%
REN %$TEMP% %$FILE%
В итоге в каждом файле появлялся квадратик в начале 1-ой строки.

Отправлено: 13:00, 19-02-2016

 

Ветеран


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

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


ask2886, Если кодировка UTF-8, то достаточно обычной консоли, если unicode (UTF-16), то тогда необходимо запустить cmd с ключом /u. После этого просто перенаправляете вывод нужных файлов в результирующий:
Код: Выделить весь код
type 1.txt 2.txt > 3.txt

Отправлено: 09:28, 20-02-2016 | #11



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

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


Ветеран


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

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


Цитата Iska:
Угу. То есть, оно бы как бы и не обязательно делать подмену, просто у меня умолчальным языком ввода стоит, как правило, en-us. »
специально проверил сейчас - не работает((
неюникодовская гуёвина выдала сообщение на русском (в memo)
копи - пасте(в аутлук 2003)- краказябры. Независимо от включенной расладки на момент пасте.

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 16:33, 24-02-2016 | #12


Ветеран


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

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


Цитата Опиум:
Независимо от включенной расладки на момент пасте. »
Добавьте к этому (точнее, предварите это) «язык ввода русский» на момент copy.

Отправлено: 16:59, 24-02-2016 | #13



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Слияние файлов CSV niko_dovgiy Скриптовые языки администрирования Windows 1 08-12-2015 21:37
CMD/BAT - [решено] Удаление всех файлов (всех типов) из всех подпапок, кроме расширений txt kot318 Скриптовые языки администрирования Windows 10 12-02-2015 15:48
CMD/BAT - Слияние содержимого txt файлов в один. rvm.luma Скриптовые языки администрирования Windows 4 07-09-2013 15:11
CMD/BAT - [решено] Сравнение txt файлов и вывод результата LAKERS824 Скриптовые языки администрирования Windows 2 08-07-2012 12:48
CMD/BAT - [решено] Как скопировать содержимое txt файлов всех подкаталогов в один файл dezertic Скриптовые языки администрирования Windows 3 20-10-2009 12:47




 
Переход