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

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

Ответить
Настройки темы
CMD/BAT - Windows 7 (x86) Сохраняет в кривой кодировке txt файл из консоли

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


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

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


Имеем такой вот обычный код:
Код: Выделить весь код
chcp 1251
echo %date% %time% %computername% %username% >> \\10.107.50.104\Logons\logons.txt
ipconfig >> \\10.107.50.104\Logons\logons.txt
В результате работе которого на "Семёрках", получаем закономерный результат, такого вот вида:
читать дальше »
Код: Выделить весь код
01.04.2014 17:28:41,68 MARSHALLPC marshall 

Ќ*бва®©Є* Їа®в®Є®«* IP ¤«п Windows


Ethernet adapter Local:

   DNS-бгддЁЄб Ї®¤Є«озҐ*Ёп . . . . . : 
   ‹®Є*«м*л© IPv6-*¤аҐб Є***«* . . . : fe80::9c4a:49db:dacf:1c80%21
   IPv4-*¤аҐб. . . . . . . . . . . . : 10.107.2.6
   Њ*бЄ* Ї®¤бҐвЁ . . . . . . . . . . : 255.255.255.0
   Ћб*®ў*®© и«о§. . . . . . . . . : 10.107.2.1

’г**Ґ«м*л© *¤*ЇвҐа Џ®¤Є«озҐ*ЁҐ Ї® «®Є*«м*®© бҐвЁ* 9:

   ‘®бв®п*ЁҐ б।л. . . . . . . . : ‘।* ЇҐаҐ¤*зЁ *Ґ¤®бвгЇ**.
   DNS-бгддЁЄб Ї®¤Є«озҐ*Ёп . . . . . : 

’г**Ґ«м*л© *¤*ЇвҐа isatap.{39319E9A-3191-4697-B1F9-E2C543B48BA7}:

   ‘®бв®п*ЁҐ б।л. . . . . . . . : ‘।* ЇҐаҐ¤*зЁ *Ґ¤®бвгЇ**.
   DNS-бгддЁЄб Ї®¤Є«озҐ*Ёп . . . . . : 

’г**Ґ«м*л© *¤*ЇвҐа isatap.{753FB36C-5C6C-48FF-9403-99128188C8BC}:

   ‘®бв®п*ЁҐ б।л. . . . . . . . : ‘।* ЇҐаҐ¤*зЁ *Ґ¤®бвгЇ**.
   DNS-бгддЁЄб Ї®¤Є«озҐ*Ёп . . . . . :

На XP сохраняется нормально, в читабельном виде, в киррилице.
Хитрость с chcp 1251 в начале батнике не срабатывает.
Но эта же хитрость, работает если код переписать на такой:
Код: Выделить весь код
chcp 1251
echo %date% %time% %computername% %username% >> \\10.107.50.104\Logons\logons.txt
netsh interface ip show address >> \\10.107.50.104\Logons\logons.txt
То есть тоже делает читабельный вид в киррилице.
Отсюда вопрос, камрады, что не так в "Семерке" с командой ipconfig и вывод оной в txt файл, читабельного вида.
Если кто знает, как реализовать нормально тоже самое, но в vbs, подскажите, это и будет решением.

Отправлено: 09:34, 01-04-2014

 

Пользователь


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

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


MarShaLL22, попробуйте chcp 1251 заменить на chcp 866 или сохраните скрипт в кодировке 866 (OEM - русская) с помощью такого текстового редактора, как, например AkelPad.

Отправлено: 10:21, 01-04-2014 | #2



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

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


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


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

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


Цитата Bruce Wayne:
попробуйте chcp 1251 заменить на chcp 866 или сохраните скрипт в кодировке 866 (OEM - русская) с помощью такого текстового редактора, как, например AkelPad. »
Аналогично.

Отправлено: 10:29, 01-04-2014 | #3


Пользователь


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

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


MarShaLL22, похоже, единственный способ здесь - сменить шрифт текстового редактора на Terminal.

Отправлено: 19:46, 02-04-2014 | #4


Ветеран


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

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


Цитата MarShaLL22:
что не так в "Семерке" с командой ipconfig »
Это не с 7-ой. ipconfig всегда выводил кириллицу в ОЕМ-кодировке (866). Можно перекодировать сам файл или перекодировать на лету.
Код: Выделить весь код
@echo off
setlocal

1>>\\10.107.50.104\Logons\logons.txt echo %date% %time% %computername% %username%
for /f "tokens=*" %%i in ('ipconfig') do call:1 "%%i"
goto:eof

:1
1>nul chcp 1251
1>>\\10.107.50.104\Logons\logons.txt echo %~1
1>nul chcp 866
Но здесь потеряется форматирование вывода.

Я бы использовал iconv (либо какую-нибудь подобную утилиту, много их):
Код: Выделить весь код
echo %date% %time% %computername% %username% >> \\10.107.50.104\Logons\logons.txt
ipconfig | iconv -f cp866 -t cp1251 >> \\10.107.50.104\Logons\logons.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:13, 02-04-2014 | #5


Ветеран


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

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


Цитата Foreigner:
Но здесь потеряется форматирование вывода. »

Foreigner, а если так:
Код: Выделить весь код
for /f "delims=" %%i in ('ipconfig') do call:1 "%%i"
и (на всякий случай) так:
Код: Выделить весь код
echo.%~1
?

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

Отправлено: 20:37, 02-04-2014 | #6


Пользователь


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

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


Дам совет, установи notepad++ и в разделе кодировки выбери кирилица и OEM 866 или другуя в том разделе, тогда и сможешь причитать.

Отправлено: 19:41, 05-04-2014 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Вытащить ячейку из Excel файла и вставить в TXT файл garanov AutoIt 2 23-05-2012 14:16
VBS/WSH/JS - [решено] Загрузка/выгрузка из/в *.txt файл HFShak Скриптовые языки администрирования Windows 5 20-01-2012 16:56
VBS/WSH/JS - [решено] Как создать файл в кодировке UTF-8 с помощью VBScript? Zeron Скриптовые языки администрирования Windows 2 30-05-2011 03:50
распакованные из RAR-а txt-файлы в непонятной кодировке KEugeNik Хочу все знать 8 13-05-2011 20:19
[решено] Internet Explorer - сохраняет только в .txt nicki Microsoft Windows 2000/XP 4 24-09-2005 01:54




 
Переход