首页 > 解决方案 > 如何使用 TSQL 从目录中删除文件?

问题描述

DECLARE @cmd VARCHAR(100) 
set @cmd= 'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"''';
EXEC (@cmd)

我已经尝试了上面的代码,但失败并出现错误必须声明标量变量@deletefile。

任何人都可以弄清楚这里出了什么问题?

标签: sql-serverdatabasetsql

解决方案


您需要像上面声明的 @cmd 一样声明变量 @deletefile

声明 @deletefile varchar(20)。如果文件名太长,可以使用 varchar(100)。

在 @deletefile 变量中设置要删除的文件名,然后运行查询。

SET @deletefile='你的文件名'。总的来说应该像下面

DECLARE @cmd VARCHAR(100)
DECLARE @deletefile VARCHAR(20)
set @deletefile='YourFileName' 
set @cmd= 'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"''';
EXEC (@cmd)

推荐阅读