BAT файл. Как найти и заменить в текстовом документе спецсимвол? + внутри

01.01.2001

BAT файл. Как найти и заменить в текстовом документе спецсимвол? + внутри...

  • Не будет обрабатывать такой символ BAT-файл.
  • а где команда которая удаляет символ?
  • Вот чёрт, не заметил, что там нет вложенности циклов. Тогда, вероятно, мешает точка после echo. Хотя сейчас попробовал - удаляет, но только первую последовательность одинаковых символов. То есть я записал в s.txt символ #, а в a.txt - ~3%%##555##!%~
    В b.txt получил ~3%% 555##!%~
    И это нормально, поскольку такой алгоритм разделяет строку на два элемента, пользуясь в качестве разделителя указанным символом.
    Я бы написал так:
    @echo off
    Setlocal EnableDelayedExpansion
    for /f "tokens=* delims=" %%i in ('type s.txt') do set x=%%i
    for /f "delims=" %%i in ('type a.txt') do (
    set s=%%i
    set s=!s:%x%=!
    echo! s!>>b.txt
    )
    Но только тут появляются ограничения, связанные с тем, что символ! в строке воспринимается, как служебный символ, поэтому из строки удаляется всё, что начинается с этого символа.
    Источник: серое вещество

Вас заинтересует