0

我创建了一个 Zip 文件,但无法使用以下命令将其删除。

xp_cmdshell 'rm "F:\EXIS\Reports\Individual.zip"'

当我实际上可以看到该文件时,它会给出一个错误,提示找不到文件。

我尝试使用xp_cmdshell 'del "F:\EXIS\Reports\Individual.zip"'

但是,这要求确认,我实际上无法输入。

有的话请指教

谢谢。

4

3 回答 3

1

--更改服务器配置,例如: --启用 XP_CMDSHELL 的脚本 -- 允许更改高级选项。

EXEC sp_configure '显示高级选项', 1 GO

-- 更新高级选项的当前配置值。

重新配置

-- 启用该功能。

执行 sp_configure 'xp_cmdshell', 1 GO

-- 更新此功能的当前配置值。

重新配置;

  DECLARE  @BackUpPath varchar(255) ,@sqlQuery varchar(255)

  Set @BackUpPath='D:\All DB BackUp\TestDB.bak'

  IF dbo.fn_FileExists(@BackUpPath)=1 
  BEGIN

     SET @sqlQuery='DEL /Q "' + @BackUpPath + '"';

     PRINT @sqlQuery

     EXEC master..xp_cmdshell @sqlQuery

     IF dbo.fn_FileExists(@BackUpPath)=0

     BEGIN    

     PRINT 'File Deleted'

     END

     ELSE

     BEGIN    

     PRINT 'File not Deleted'

     END 

   END

如果 @BackUpPath 包含空格,您必须输入您的路径,例如“您的路径”

于 2015-01-24T06:35:47.850 回答
1

尝试del在静默模式下执行,例如:

xp_cmdshell 'del /Q "F:\EXIS\Reports\Individual.zip"'

另外:如果 SQL Server 在另一台机器上运行,则路径当然必须对该机器有效。

于 2013-11-11T07:22:40.313 回答
1

在访问指定位置时,使用 SQL Server 进程的当前凭据未找到该文件,因此该消息更为通用。

我怀疑这是权限问题,所以请确保 SQL Server 进程有权删除该位置的文件。另一种建议是在该位置执行“dir”。

于 2013-11-11T08:14:29.727 回答