如何通过MS SQL服务器删除该目录中的文件

问题描述:

我想删除一个目录使用以下查询窗口中的文件,如何通过MS SQL服务器删除该目录中的文件

exec xp_cmdshell 'del "C:\root\sfd_devtracker\'[email protected] + '"'; 

当我执行此命令时,它提供了以下错误,

Incorrect syntax near '+'. 

@deletefile变量我有文件名,我必须删除。我在这里做错了什么?

xp_cmdshell要求将文字串作为参数传递。您无法即时创建价值。

试试这个:

DECLARE @cmd NVARCHAR(MAX) = 
'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"'''; 
EXEC (@cmd) 
+0

查询没有工作。它说, 'C:\ root \ sfd_devtracker \'附近的语法不正确。' –

+0

只要我声明变量:'declare @deletefile varchar(20);' –

+0

@NisalMalindaLivera,我修改了答案并提出了双引号。现在应该工作。 – Serge