Ниже приведен мой маленький код:
Сценарий 1
declare @DataToWrite varchar(8000)
set @DataToWrite='<html><body><h1>This is a Heading</h1></body></html>'
DECLARE @CommandL1 varchar(8000)
SET @CommandL1 = 'echo'+@DataToWrite+'> D:\logs\Logs\HTMLFile.html'
print CommandL1
exec master..xp_cmdshell @CommandL1
После его выполнения в окне запроса SSMS ниже приведены результаты:
Вкладка результатов SSMS:
**< was unexpected at this time.**
Вкладка «Сообщения» SSMS:
echo<html><body><h1>This is a Heading</h1></body></html>>
D:\logs\Logs\HTMLFile.html
(2 row(s) affected)
Почему она не позволяет мне записать этот HTML CODE TO. html файл?
Сценарий 2
Ниже код работает нормально и генерирует файл HTML в нужном месте:
declare @DataToWrite varchar(8000)
set @DataToWrite='t'
DECLARE @CommandL1 varchar(8000)
SET @CommandL1 = 'echo '+@DataToWrite+'> D:\logs\Logs\HTMLFile.html'
print @CommandL1
exec master..xp_cmdshell @CommandL1
Примечание:
Пожалуйста, не запутайтесь с вещью "Это заголовок". Редактор Stackoverflow преобразует его.