J'essaie de supprimer un fichier d'un répertoire à l'intérieur de Windows en utilisant la requête suivante,
exec xp_cmdshell 'del "C:\root\sfd_devtracker\'+@deletefile + '"';
Lorsque j'exécute cette commande, elle donne l'erreur suivante,
Incorrect syntax near '+'.
Dans @deletefile
variable j'ai le nom de fichier que je dois supprimer. Qu'est-ce que j'ai fait de mal ici?
xp_cmdshell nécessite qu'une chaîne littérale soit passée en paramètre. Vous ne pouvez pas construire une valeur à la volée.
Essaye ça:
DECLARE @cmd NVARCHAR(MAX) =
'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"''';
EXEC (@cmd)
Considérez que xp_cmdshell
doit être activé, par exemple dans de cette façon .