1

Тема: CMD/BAT: Символ перенаправления ввода/вывода

Добрый день.

Пробывал использовать в работе скрипт перекодировка текста dos866 в win1251, но возникла одна проблема: все символы которые идут после > отбрасываются. Пробывал применять экранирование символов ^>, однако это не исправляет проблему (в результирующем файле я вижу первый символ >, остальные символы до конца строки отбрасываются).
Можно ли как-то еще заменить символ >, чтобы после преобразования и он остался, и текст после него?

Спасибо.

2

Re: CMD/BAT: Символ перенаправления ввода/вывода

Собственное "изобретение".


@echo off

set in=input.file
set out=output.file

chcp 866>nul

(
 for /f "usebackq tokens=*" %%a in ("%in%") do (
   chcp 1251>nul
   echo.|set /p v="%%a"
   echo.
   chcp 866>nul
  )
)>%out%

@echo off

set in=input.file
set out=output.file

chcp 1251>nul

(
 for /f "usebackq tokens=*" %%a in ("%in%") do (
   chcp 866>nul
   echo.|set /p v="%%a"
   echo.
   chcp 1251>nul
  )
)>%out%

3

Re: CMD/BAT: Символ перенаправления ввода/вывода

Спасибо. Все получилось.

Еще бы пояснение что происходит в 11й строке.