20.03.2017 17:42
baggio
 
1. имеем виндовс...
2 имеем желание отправлять боту телеграммы из командной строки.
3. нужно перед отправкой конвертировать в utf-8

Код:
echo "Привет" | iconv -f windows-1251 -t utf-8
"╨П╨░╨Б╤Ю╥Р╨▓"
4. нужно результат перекодировки впихнкть в переменную, чтобы потом вставить в сообщение.

5. накопал вот что:
Код:
for /F "tokens=*" %%i in ('echo "Привет" | iconv -f windows-1251 -t utf-8') do set MYVAR=%%i
для батника

Код:
for /F "tokens=*" %i in ('echo "Привет" | iconv -f windows-1251 -t utf-8') do set MYVAR=%i
в командной строке

Код:
Непредвиденное появление: |.

ЧЯДНТ... как эту гуйню заэкранировать?
20.03.2017 18:12
OlegON
 
Гы :) У меня iconv нет
Код:
C:\>set MYVAR=echo BAGGIO | echo HACKER

C:\>echo %MYVAR%
HACKER

C:\>for /F "tokens=*" %i in (echo %MYVAR%) do set MYVAR=%i
Непредвиденное появление: |.
ты точно хочешь под виндой херней страдать? проще, видимо, будет в файлик скинуть...
20.03.2017 18:14
baggio
 
Цитата:
OlegON ты точно хочешь под виндой херней страдать?
риторический вопрос...

Цитата:
OlegON проще, видимо, будет в файлик скинуть...
не кошерно...
20.03.2017 18:20
OlegON
 
Цитата:
echo WIN | echo SUCKS > baggio.tmp
For /F "Delims=" %%I In (baggio.tmp) Do Set V=%%~I
Echo !V!
del baggio.tmp
что некошерного-то? :) винда по определению некошерная вся
20.03.2017 18:22
OlegON
 
Так работает
Цитата:
for /F "tokens=*" %%i in ('echo "Привет" ^| echo "WIN SUCKS"') do set MYVAR=%%i
20.03.2017 18:25
vdm
 
Галкой экранируется
^
20.03.2017 23:53
baggio
 
Ю а май хироу...
биг сэнкс...
дис вёк...

Код:
for /F "tokens=*" %%i in ('echo "%1" ^| iconv -f windows-1251 -t utf-8') do set MYVAR=%%i
Часовой пояс GMT +3, время: 13:54.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.