Você pode usar JREPL.BAT para realizar a localização / substituição em um único arquivo, e, em seguida, empacote isso dentro de um loop FOR para aplicá-lo a "todos" arquivos.
JREPL.BAT é um processador de texto de linha de comando de expressão regular. É puro script (híbrido JScript / batch) que é executado em qualquer máquina Windows do XP em diante, sem necessidade de arquivos exe de terceiros. A documentação completa está disponível na linha de comando via jrepl /?
ou jrepl /??
para ajuda paginada.
Não sei bem como interpretar seu terceiro valor de substituição, mas você deve ser capaz de corrigir qualquer interpretação errada de minha parte.
O código abaixo usa a opção /T
(translate), que permite especificar uma série de pares de localizar / substituir. Eu escolhi delimitar as expressões com |
. O primeiro argumento contém a lista delimitada de termos de pesquisa e o segundo contém a lista delimitada de termos de substituição.
A opção /X
permite sequências de escape nas expressões de substituição.
A opção /M
ativa o modo de várias linhas para que você possa pesquisar em quebras de linha.
A opção /F
especifica o arquivo de origem e /O -
faz com que o resultado sobrescreva o arquivo original (atualização in-loco).
Eu adicionei ^
continuação de linha para legibilidade
Na linha de comando:
for %F in (*.txt) do @jrepl "\r\n|STUDENT: [^\r\n]{1,200}|_[A-z].{1,300}|-{2,2000}"^
"\r\n\r\n|STUDENT:||" /m /x /t "|" /f "%F" /o -
De um script em lote
@echo off
for %%F in (*.txt) do (
call jrepl "\r\n|STUDENT: [^\r\n]{1,200}|_[A-z].{1,300}|-{2,2000}"^
"\r\n\r\n|STUDENT:||" /m /x /t "|" /f "%%F" /o -
)