2012-04-10 101 views
1

我正在从SQL Server 2005生成脚本文件并使用Master.dbo.xp_cmdshell命令将它们写入文件。由于安全原因,它已被禁用。将保留关键字写入Windows批处理文件中的文件

所以我打印命令到控制台窗口并将其粘贴到scriptfile.bat文件并执行它。

现在我正面临一个新问题。批处理文件遇到此行时,它将退出。

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

我的问题是,我该怎么写其它编程语言(SQL)代码示例在命令提示符下一个文件?行If @intA <> @intB是一个字符串,它需要被转储到文件中。

让我知道如何处理这个问题。

编辑:从代码中删除双引号。

+0

你是不是真的使用MS-DOS是你吗? – 2012-04-10 07:48:36

+0

不,我不使用MS-DOS。 – 2012-04-10 07:54:07

+0

MS-DOS是一个长期退役的操作系统。我的问题是,如果你真的使用**,或者如果你只是在Windows – 2012-04-10 08:32:01

回答

1

尝试逃脱保留字符以尖号:

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

感谢它的工作。在这种情况下,我可以用脱字符号逃脱所有保留的字符吗? – 2012-04-10 07:49:48

+0

@Bharath库马尔:唉,我不确定。我只能认为,用内部回声命令它没关系。 – Benoit 2012-04-10 09:49:01

0

改变这一行

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

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

为标志<>需要从外壳进行转义。

+0

是的,我试过的代码。但双引号也写入文件为 '“如果@intA <> @intB”' – 2012-04-10 07:35:21

相关问题