如何通过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)
查询没有工作。它说, 'C:\ root \ sfd_devtracker \'附近的语法不正确。' –
只要我声明变量:'declare @deletefile varchar(20);' –
@NisalMalindaLivera,我修改了答案并提出了双引号。现在应该工作。 – Serge