我正在尝试使用以下查询从Windows内的目录中删除文件,
exec xp_cmdshell 'del "C:\root\sfd_devtracker\'+@deletefile + '"';
当我执行此命令时,出现以下错误,
Incorrect syntax near '+'.
在@deletefile变量中,我具有必须删除的文件名。我在这里做错了什么?
@deletefile
xp_cmdshell要求将文字字符串作为参数传递。您不能即时构造一个值。
试试这个:
DECLARE @cmd NVARCHAR(MAX) = 'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"'''; EXEC (@cmd)
考虑到xp_cmdshell必须启用,例如以这种方式。
xp_cmdshell