Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Как через echo вывести в файл слово SERVICE?

#windows #oracle #bat


Пытаюсь силами bat файла создать файл инициализации для БД Oracle.
Минимальный пример моего файла:

@echo off
SET ORACLE_SID=SID1
IF 1==1 (
echo *.dispatchers='(PROTOCOL=TCP) (SERVICE=%ORACLE_SID%2XDB)' >>D:\1.TXT
)


Получаю ошибку:


  (SERVICE was unexpected at this time.


Ругается на слово SERVICE. Как можно заставить работать этот вывод?

Из забавного, если убрать IF, то ошибок нет.

Пробовал экранировать слово символом ^, однако к успеху это не привело
    


Ответы

Ответ 1



Пробовал экранировать слово символом ^, однако к успеху это не привело Экранировать символом ^ нужно закрывающие скобки, иначе они воспринимаются как завершение IF, что и приводит к ошибке (неожиданный контент после IF). @echo off SET ORACLE_SID=SID1 IF 1==1 ( echo *.dispatchers='(PROTOCOL=TCP^) (SERVICE=%ORACLE_SID%2XDB^)' >>D:\1.TXT )

Комментариев нет:

Отправить комментарий