2012-04-10 107 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

相關問題