2012-04-10 2 views
1

Я работаю над созданием файлов сценариев из SQL Server 2005 и записываю их в файл с помощью команды Master.dbo.xp_cmdshell. Из-за соображений безопасности он отключен.Запись зарезервированных ключевых слов в файл в пакетном файле Windows

Итак, я напечатал команды в окне консоли и вставил их в файл scriptfile.bat и выполнил его.

Теперь я столкнулся с новой проблемой. Когда пакетный файл встречает эту строку, он завершает работу.

Мой вопрос: как я могу написать образцы кода из других языков программирования (SQL) в файл в командной строке? Строка If @intA <> @intB является строкой, и ее необходимо сбрасывать в файл.

Позвольте мне знать, как с этим справиться.

Отредактировано: Удалены двойные кавычки из кода.

+0

Вы на самом деле не с помощью MS-DOS вы? –

+0

Нет. Я не очень много использую MS-DOS. –

+0

MS-DOS - это давно устаревшая операционная система. Мой вопрос: если вы действительно используете **, что ** или если вы просто ссылаетесь на командную строку (и пакетные файлы) в Windows –

ответ

1

попытка избежать зарезервированные символы с кареткой:

echo.If @intA ^<^> @intB> "C:\output_file.txt" 
+0

Спасибо, сработало. В этом случае я могу избежать всех зарезервированных символов с помощью каретки? –

+0

@Bharath Kumar: Увы, я не уверен. Я могу только думать, что с внутренней эхо-командой все в порядке. – Benoit

0

Изменение этой линии

echo If @intA <> @intB > "C:\output_file.txt" 

Для

echo "If @intA <> @intB" > "C:\output_file.txt" 

Как символ < и > необходимости быть экранированы от оболочки.

+0

Да, я попробовал код. Но двойные кавычки также записываются в файл как '' Если @intA <> @intB "' –

Смежные вопросы