使用SQL将多个文件复制到一个带有变量路径的xp\u cmdshell中

使用SQL将多个文件复制到一个带有变量路径的xp\u cmdshell中,sql,csv,copy,xp-cmdshell,Sql,Csv,Copy,Xp Cmdshell,我在SQLServer2008中使用bcp创建了一些csv文件。现在我需要把这些文件合并成一个。如果我显式地定义了文件的路径,它就会工作,但是如果我声明它,它会告诉我它找不到文件 声明@variable\u path\u file1=“c:\file.csv” 声明@variable\u path\u file2=“c:\file2.csv” 它的工作原理如下: exec master..xp_cmdshell 'copy /b "c:\file.csv" + "c:\file2.csv" "C

我在SQLServer2008中使用bcp创建了一些csv文件。现在我需要把这些文件合并成一个。如果我显式地定义了文件的路径,它就会工作,但是如果我声明它,它会告诉我它找不到文件

声明@variable\u path\u file1=“c:\file.csv” 声明@variable\u path\u file2=“c:\file2.csv”

它的工作原理如下:

exec master..xp_cmdshell 'copy /b "c:\file.csv" + "c:\file2.csv" "C:\result.csv"'
exec master..xp_cmdshell 'copy /b @variable_path_file1 + @variable_path_file2 "C:\result.csv"'
 exec master..xp_cmdshell 'copy /b '@variable_path_file1' + '@variable_path_file2' "C:\result.csv"'
 exec master..xp_cmdshell 'copy /b "'@variable_path_file1'" + "'@variable_path_file2'" "C:\result.csv"'
但它不是这样工作的:

exec master..xp_cmdshell 'copy /b "c:\file.csv" + "c:\file2.csv" "C:\result.csv"'
exec master..xp_cmdshell 'copy /b @variable_path_file1 + @variable_path_file2 "C:\result.csv"'
 exec master..xp_cmdshell 'copy /b '@variable_path_file1' + '@variable_path_file2' "C:\result.csv"'
 exec master..xp_cmdshell 'copy /b "'@variable_path_file1'" + "'@variable_path_file2'" "C:\result.csv"'
也不是这样:

exec master..xp_cmdshell 'copy /b "c:\file.csv" + "c:\file2.csv" "C:\result.csv"'
exec master..xp_cmdshell 'copy /b @variable_path_file1 + @variable_path_file2 "C:\result.csv"'
 exec master..xp_cmdshell 'copy /b '@variable_path_file1' + '@variable_path_file2' "C:\result.csv"'
 exec master..xp_cmdshell 'copy /b "'@variable_path_file1'" + "'@variable_path_file2'" "C:\result.csv"'
都不是这样的:

exec master..xp_cmdshell 'copy /b "c:\file.csv" + "c:\file2.csv" "C:\result.csv"'
exec master..xp_cmdshell 'copy /b @variable_path_file1 + @variable_path_file2 "C:\result.csv"'
 exec master..xp_cmdshell 'copy /b '@variable_path_file1' + '@variable_path_file2' "C:\result.csv"'
 exec master..xp_cmdshell 'copy /b "'@variable_path_file1'" + "'@variable_path_file2'" "C:\result.csv"'
有人能帮我吗?

像下面这样使用

SET @cmd = 'copy /b "' + @v_Header_path +'" + "'+ @v_Data_path +'" "' + @v_Out_file_path + '"'
exec master..xp_cmdshell @cmd
使用如下

SET @cmd = 'copy /b "' + @v_Header_path +'" + "'+ @v_Data_path +'" "' + @v_Out_file_path + '"'
exec master..xp_cmdshell @cmd
使用如下

SET @cmd = 'copy /b "' + @v_Header_path +'" + "'+ @v_Data_path +'" "' + @v_Out_file_path + '"'
exec master..xp_cmdshell @cmd
使用如下

SET @cmd = 'copy /b "' + @v_Header_path +'" + "'+ @v_Data_path +'" "' + @v_Out_file_path + '"'
exec master..xp_cmdshell @cmd