使用sql脚本将文本文件从一个文件夹移动到另一个文件夹

时间:2020-02-13 16:15:46

标签: sql sql-server

我一直在使用以下sql脚本将文件从一个位置移动到另一位置。

EXEC
master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE
EXEC
master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE

DECLARE @cmd nvarchar(500), @folderName varchar(100),@move varchar(100),@destinationpath varchar(50)

SET @folderName = 'Newfolder_' + REPLACE(CONVERT(varchar(10), GETDATE(), 101), '/', '') 

SET @cmd = 'mkdir C:\FileDestination\' + @folderName

EXEC master..xp_cmdshell @cmd   --- this will create folder(newfolder_mmddyyy)

set @destinationpath='C:\FileDestination\'+@folderName
set @move ='move c:\filesource\* '+ @destinationpath

exec master.dbo.xp_cmdshell @move  ---this will move files to newly created folder

但是它显示的错误如下

系统找不到指定的文件。

有人可以让我知道解决方案吗?非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

如果“ filesource”和“ FileDestination”是示例文件夹位置,则可能是move命令的变量太小。尝试使其与@cmd相同,即@move nvarchar(500)

答案 1 :(得分:0)

这似乎是 filesource 文件夹上的访问问题,请尝试为该文件夹中的所有人提供完全访问权限。

我在系统上尝试了准确的代码,对我来说很好(移动的测试文件)。

enter image description here