![]() |
![]() |
![]() |
|
Кодировка в cmd-файле | ☑ | ||
---|---|---|---|---|
0
andrewks
06.11.10
✎
22:54
|
в общем, надо из cmd-файла записать в файл текст в вин1251. погуглил, нашел вариант с chcp. пишу cmd в оем-кодировке:
echo привет>cod.txt chcp 1251 >nul echo привет>>cod.txt в итоге в выходном файле весь текст все равно в оеме. ЧЯНТД? |
|||
1
VasilyKushnir
06.11.10
✎
22:59
|
А что дальше с текстовым файлом делаешь? 1С читает обе кодировки вообще-то...
|
|||
2
andrewks
06.11.10
✎
23:00
|
prm д.б. в вин1251
|
|||
3
smaharbA
06.11.10
✎
23:02
|
чо за бред ?
|
|||
4
andrewks
06.11.10
✎
23:04
|
(3) почему бред?
|
|||
5
Aleksey
06.11.10
✎
23:05
|
Только что проверил, записал в кодировки винды
|
|||
6
andrewks
06.11.10
✎
23:06
|
(5) пля, что может быть? xp sp3
|
|||
7
le_
06.11.10
✎
23:08
|
(0) Просто ты сначала создаешь файл в досовской кодировке, а потом дописываешь его (>>).
Сначала chcp сделай, а потом создавай файл. |
|||
8
Aleksey
06.11.10
✎
23:08
|
(6) Правда он и без этой команды писал в кодировки винды
|
|||
9
andrewks
06.11.10
✎
23:10
|
(7) так я тоже пробовал, результат идентичный.
|
|||
10
Aleksey
06.11.10
✎
23:10
|
(7) А без разницы
chcp 866 echo привет 866>cod.txt chcp 1251 echo привет 1251>cod2.txt записал в обоих файлах по русски |
|||
11
andrewks
06.11.10
✎
23:11
|
(10) а кодировки какие сделал?
|
|||
12
Aleksey
06.11.10
✎
23:11
|
(11) Не в ту сторону копаещь
http://citforum.ru/operating_systems/novelldos/chcp.shtml |
|||
13
andrewks
06.11.10
✎
23:15
|
(12) в ту. нашел на одном форуме вариант через файл:
@echo off chcp 866 >nul echo Привет!>test.txt for /f "tokens=*" %%a in (test.txt) do call :convert %%a goto :eof :convert chcp 1251 >nul echo %*>>test2.txt chcp 866 >nul :eof так в итоге в test.txt оем, в test2.txt вин1251. а почему ж напрямую не пашет? нешто через изврат только можно? |
|||
14
smaharbA
06.11.10
✎
23:15
|
http://www.n-d.ru/images/1251.bat
http://www.n-d.ru/images/866.bat найди небольшое отличие, а если надо писать всегда в 866, а получать и ту и другую подход несколько иной |
|||
15
smaharbA
06.11.10
✎
23:16
|
(13) тебе конвертировать ?
|
|||
16
andrewks
06.11.10
✎
23:19
|
(15) у меня на входе текстофайло в кодировке оем (хотя могу подавать и в вин1251, не важно). мне его нужно обработать и раскидать в кучку файлов, при этом часть надо сохранить в оем, часть - в вин1251
|
|||
17
Aleksey
06.11.10
✎
23:20
|
Пример на VBS
Set st = CreateObject("ADODB.Stream") st.Type=2 st.Open st.Charset = "windows-1251" st.WriteText("привет") st.SaveToFile("c:\cod.txt") |
|||
18
andrewks
06.11.10
✎
23:23
|
(17) через vbs знаю, но не хочу, на серваке убрал все скрипточитатели в целях безопасности, хочу cmd замутить
|
|||
19
andrewks
06.11.10
✎
23:30
|
(14) получается, ему поуй на chcp, он пишет в такой же кодировке, как записано в cmd. т.е. если в cmd записать в вин1251:
echo off set chcp=866 chcp %chcp% > nul echo Вася Пупкин > test.txt он запишет test.txt также в вин1251. |
|||
20
smaharbA
06.11.10
✎
23:31
|
(19) ему не пох, думай
|
|||
21
le_
06.11.10
✎
23:36
|
Вот решение:
cmd /k chcp 1251 && echo | echo Привет! > c:\win.txt |
|||
22
andrewks
06.11.10
✎
23:39
|
не понял. ты эту конструкцию в cmd файле пишешь? или где?
|
|||
23
le_
06.11.10
✎
23:40
|
Пуск - Выполнить, туда копируй эту строку.
|
|||
24
le_
06.11.10
✎
23:41
|
Можно и в батник засунуть.
|
|||
25
le_
06.11.10
✎
23:45
|
Батник такой будет:
chcp 1251 echo | echo Привет! > c:\win.txt |
|||
26
andrewks
06.11.10
✎
23:45
|
(24) в батнике не взлетает.
|
|||
27
andrewks
06.11.10
✎
23:46
|
+(26) он все равно пишет в той кодировке, в какой в cmd это слово прописано
|
|||
28
smaharbA
06.11.10
✎
23:47
|
(процедуру обрезал, то там масса кодировок)
|
|||
29
smaharbA
06.11.10
✎
23:49
|
форум немного испоганил, в ифе нет знака меньше
|
|||
30
andrewks
06.11.10
✎
23:52
|
(28) ого. т.е. я правильно понял, что взлетит только ч/з промежуточный файл?
|
|||
31
smaharbA
06.11.10
✎
23:53
|
(30) нет, в (28) нету файла, этот коментарий от гораздо большей процедуры
|
|||
32
andrewks
06.11.10
✎
23:54
|
(31) понял, спасибо, буду изучать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |