使用T-Sql删除字符和移动平面文件

时间:2013-11-20 10:17:45

标签: sql-server-2008 tsql

请问有人可以协助,因为我无法在任何地方找到答案吗?我的问题是我有一个ERP系统,我需要每天导入相同的文件(DDLS1GST.DAT)。我知道如何在移动文件时添加日期,但不知道如何从文件名中删除此类信息,然后将其移动到特定位置。

我从第三方收到的文件名为'example_sales_20131120.prn',我需要对其进行修剪,重命名并将其作为'DDL1GST.DAT'移动到必要的位置。

理论上,我需要做的就是指示续集寻找像'%example ...'这样的文件名,但我不知道该怎么做。

declare 
@cmdstring varchar(1000),
@testname varchar(50)

set @testname = 'DDL1GST'+ '.DAT'

set @cmdstring = 'move /Y \\Server\Data\User\ExampleFiles\Old\%example... \\Server\Data\User\ExampleFiles\' + @testname
print @cmdstring
exec master..xp_cmdshell @cmdstring

非常感谢这方面的任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

使用以下方法管理以获得一些帮助:

declare 
@cmdstring varchar(1000),
@testname varchar(50),
@date varchar(20)

set @date = REPLACE(CONVERT(VARCHAR(10), GETDATE()-1, 103), '/', '')
set @testname = 'DDL1GST'+'.DAT' 
print @testname
set @cmdstring = 'move /Y \\Server\Data\User\Sales\Sql\example_sales_'+ @date+'.prn \\Server\Data\User\Sales\' + @testname

print @cmdstring
exec master..xp_cmdshell @cmdstring