Имя пользователя:
Пароль:
 

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

Ветеран


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

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


Код:


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

>nul chcp 1251

set "source=C:\папка А"
set "destination=C:\папка Б"
set "pattern=*.txt"

>nul chcp 866

set "original=Не готов"
set "final=отправлен"

for /f "delims=" %%i in ('
 ^>.tmp cmd/v/c echo.!original!^& 2^>nul findstr/milg:.tmp "%source%\%pattern%"^& del .tmp
') do 2>nul (
 for /f %%j in ('^<"%%i" find/c /v ""') do <"%%i">"%destination%\%%~nxi" (
  for /l %%k in (1 1 %%j) do @(
   set x=& set/p x=& if defined x (
    for /f "delims=" %%l in ('cmd/v/c echo "!x:%original%=%final%!"') do @(
     echo.%%~l
    ) 
   ) else (
    echo.
   )
  )
 )
)

exit/b

.



Предупреждение:


1) пакетный файл с данным кодом ни в коем случае не сохраняйте в кодировке OEM-866;

2) в случае замены строки, содержащей буквы русского алфавита, чётко соблюдайте регистр этих букв при задании переменной "original" (например, если в Вашем тексте надо заменить фразу "Не готов", то надо писать именно "Не готов", а не "не готов".
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:08, 02-11-2015 | #3