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

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

Ветеран


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

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


Батник не слишком хорош для обработки текста. Два варианта:
Код: Выделить весь код
@echo off
setlocal

:: 1-й вариант
for %%i in (*.txt) do (

    for /f "tokens=*" %%j in ('type %%i') do (
    
    1>>"%%~ni.tmp" (if "%%j"=="####!" (echo %%~ni) else (echo %%j))
        move  "%%~ni.tmp" "%%i"
    
))

:: 2-й вариант
for %%i in (*.txt) do (

    1>"%%~ni.tmp" sed "s/####!/%%~ni/" %%i
    move "%%~ni.tmp" "%%i"

)
Вариант на Powershell:
Код: Выделить весь код
foreach ($f in (get-item *.txt)) { (get-content $f) -replace '####!',$f.basename | set-content $f }

Последний раз редактировалось Foreigner, 01-10-2015 в 16:07.

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

Отправлено: 14:27, 01-10-2015 | #2