如何使用 TSQL 从目录中删除文件?


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

我尝试了上面的代码,但失败并显示错误 必须声明 scalare 变量@deletefile。

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

您需要声明变量@deletefile就像您在上面声明@cmd

一样声明@deletefile瓦尔查尔(20(。如果你的文件名太长,你可以使用 varchar(100(。

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

设置 @deletefile='您的文件名'。总的来说应该像下面这样

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

正如错误消息所说,您尚未声明变量@deletefile或将其设置在任何地方。

你需要做的

DECLARE @deletefile NVARCHAR(255) = 'FileNameHere'

或类似

您确定已声明并设置变量"@deletefile"以指定要删除的文件名吗?

最新更新