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

Показать сообщение отдельно

Ветеран


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

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


SharkyEXE, здравствуйте.





Цитата SharkyEXE:
Просто лично мне очень хочется универсальности, чтобы Ваш код работал с любой кодировкой файла 2015-03-02.txt.
Или такая универсальность не получится? »



Такую, как Вы описали, универсальность сделать можно. Более того, Вам не придётся ничего "закомментировывать", поскольку пакетный файл будет сам условно определять кодировку текстового файла из перечисленных Вами. Но только не расширяйте Ваш список кодировок.



SharkyEXE, проверяйте:


Код: Выделить весь код
@echo off& setlocal

set "file=2015-03-02.txt"
set "label=Alt Line Fill"
set "delim=="
set "substitute=0"

>1.tmp type "%file%"
for /f %%i in ('^<1.tmp find/c /v ""') do<1.tmp>2.tmp (
 for /l %%j in (1 1 %%i) do (
  set/p "x="
  if defined x (
   for /f "delims=%delim%" %%k in ('cmd/v/c echo.!x!') do (
    if "%%k" equ "%label%" (
     cmd/v/c echo.!label!!delim!!substitute!
    ) else (
     cmd/v/c echo.!x!
    )
    )
   set "x="
  ) else (
   echo.
  )
  )
 )
>nul chcp 1251
>>2.tmp echo.
for /f "tokens=1,2 delims=|" %%i in ("%file%|1.tmp") do>"%file%" (
 if %%~zi neq %%~zj (
  <nul set/p=яю
  >nul chcp 866
  cmd/u/c type 2.tmp
 ) else (
  type 2.tmp
 )
 )
del 1.tmp 2.tmp

endlocal& exit/b

.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:38, 02-03-2015 | #5