SSIS将文件从一个位置复制到另一个位置

问题描述 投票:2回答:2

我想将特定文件从一个位置复制到另一个位置。我有一个消息框,打印文件复制源和目标的位置,如下所示:

enter image description here

我得到以下错误:

enter image description here

c# sql-server ssis etl script-task
2个回答
3
投票

基于File.Copy Method,第二个参数是新文件名而不是目录:

目标文件的名称。这不能是目录或现有文件。

您需要使用类似的逻辑:

FileCopy(filestocopy[p],targetDir + "\\" + Path.GetFileName(filestocopy[p]));

此外,建议检查目录中是否已存在该文件:

if (!File.Exists(targetDir + "\\" + Path.GetFileName(filestocopy[p])))
    FileCopy(filestocopy[p],targetDir + "\\" + Path.GetFileName(filestocopy[p]));

如果您需要覆盖任何现有文件,您可以add a boolean parameter

FileCopy(filestocopy[p],targetDir + "\\" + Path.GetFileName(filestocopy[p]),true);

1
投票

您需要为目标参数指定[文件目录] + [文件名] + [文件扩展名]

所以做这样的事情:

string destination = Path.Combine(targetDir, Path.GetFileName(filestocopy[p]));
File.Copy(filestocopy[p], destination);
© www.soinside.com 2019 - 2024. All rights reserved.