小编典典

如何通过MS SQL Server删除目录中的文件

sql

我正在尝试使用以下查询从Windows内的目录中删除文件,

exec xp_cmdshell 'del "C:\root\sfd_devtracker\'+@deletefile + '"';

当我执行此命令时,出现以下错误,

Incorrect syntax near '+'.

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


阅读 185

收藏
2021-04-22

共1个答案

小编典典

xp_cmdshell要求将文字字符串作为参数传递。您不能即时构造一个值。

试试这个:

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

考虑到xp_cmdshell必须启用,例如以这种方式

2021-04-22