SQL Server 2008:复制文件并重命名

时间:2012-05-08 15:04:56

标签: sql-server sql-server-2008 tsql

我在目录\\myServer\Admin\temp\testtemp.txt

中有一个文件

我需要写一个TSQL到

  1. 搜索testtemp.txt文件。
  2. 如果存在,请创建一份副本并将其重命名为Copytesttemp.txt
  3. 如果上面的目录中已经有testtemp.txt,就像这样

    \\abcd\Admin\temp\Copytesttemp.txt
    
  4. 然后将其删除并重新创建Copytesttemp.txt

  5. 我如何实现它?谢谢。

3 个答案:

答案 0 :(得分:16)

您可以使用xp_cmdshell运行您喜欢的任何DOS命令,例如

declare @cmdstring varchar(1000)

set @cmdstring = 'copy \\myServer\Admin\temp\testtemp.txt \\myServer\Admin\temp\Copytesttemp.txt'
exec master..xp_cmdshell @cmdstring 

只需确保在您的安装中启用了xp_cmdshell。

答案 1 :(得分:3)

创建一个SQL代理作业,该作业运行命令脚本来执行操作。

答案 2 :(得分:0)

您可以尝试复制文件并重命名

EXEC master..xp_cmdshell 'COPY D:\T1\a.txt D:\T2\b.txt'

仅像CMD一样复制和移动

EXEC master..xp_cmdshell 'COPY D:\T1\abcd.txt D:\T2'
EXEC master..xp_cmdshell 'Move D:\T1\abcd.txt D:\T2'