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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] заменить с помощью bat'ника одну строку на другую

Ответить
Настройки темы
CMD/BAT - [решено] заменить с помощью bat'ника одну строку на другую

Новый участник


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

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


Всем привет! знаю тема старая и изъезженная, но все же: нужно заменить с помощью bat'ника одну строку на другую - <Directories Name="UnitOutputDir">output</Directories> на <Directories Name="UnitOutputDir"></Directories>

использую такие команды:
Set infile=%~dp01.cfg
Set find=output<
Set replace=" "

setlocal enabledelayedexpansion
for /F "tokens=* delims=," %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
Echo !TMPR!>>%~dp0time.cfg
)
move %~dp0time.cfg %infile%

Теперь суть проблемы - bat'ник распознает символ "<" в строке Set find=output< не просто как текст кусочка строки, а как часть кода. Сделать просто Set find=output не получится т.к. в файле еще несколько раз встречается слово output.

Отправлено: 15:39, 17-02-2016

 

Забанен


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

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


Код: Выделить весь код
@echo off
  setlocal enabledelayedexpansion
    set "f=1.cfg"
    >tmp.cfg (for /f "tokens=*" %%i in (!f!) do (
      set "s=%%~i"
      set "s=!s:>output<=><!"
      echo:!s!
    ))&move /y tmp.cfg !f!
  endlocal
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:29, 17-02-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


Цитата greg zakharov:
@echo off
setlocal enabledelayedexpansion
set "f=1.cfg"
>tmp.cfg (for /f "tokens=*" %%i in (!f!) do (
set "s=%%~i"
set "s=!s:>output<=><!"
echo:!s!
))&move /y tmp.cfg !f!
endlocal
exit /b »
спасибо большое! то, что нужно!)

Отправлено: 09:28, 18-02-2016 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] заменить с помощью bat'ника одну строку на другую

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - С помощью bat-ника перенести нужное количество строк в одну в текстовом файле Rz78 Скриптовые языки администрирования Windows 7 06-06-2015 15:10
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле InVariable Скриптовые языки администрирования Windows 4 22-05-2015 20:06
Получение прав с помощью .BAT'ника Лис_Лисицин@vk Хочу все знать 2 22-03-2014 03:11
CMD/BAT - Поиск с помощью Bat ника shiroq Скриптовые языки администрирования Windows 11 10-10-2013 07:47
CMD/BAT - С помощью bat-ника найти и заменить текст в файле на текст из другого файла Nun-Nun Скриптовые языки администрирования Windows 1 08-03-2011 15:25




 
Переход