C# 根据名称用C移动和替换文件

C# 根据名称用C移动和替换文件,c#,C#,我想根据文件名将文件从一个文件夹移动到另一个文件夹。 我想要实现的是,我只从我的导出文件夹中选择这些特定文件,并将它们替换到我的目标文件夹中。目标文件夹中的项目是密钥,所以我只需要这些,否则,如果目标文件夹中已经存在文件,请替换它们 private static void CopyPaste() { var pstFileFolder = "C:/Users/chnikos/Desktop/CopyFolderTest/"; var searchPattern = "*.docx

我想根据文件名将文件从一个文件夹移动到另一个文件夹。 我想要实现的是,我只从我的导出文件夹中选择这些特定文件,并将它们替换到我的目标文件夹中。目标文件夹中的项目是密钥,所以我只需要这些,否则,如果目标文件夹中已经存在文件,请替换它们

private static void CopyPaste()
{
    var pstFileFolder = "C:/Users/chnikos/Desktop/CopyFolderTest/";
    var searchPattern = "*.docx";
    var soruceFolder= "C:/Users/chnikos/Desktop/CopyFolderTest/Test/";

    // Searches the directory for *.pst
    foreach (var file in Directory.GetFiles(pstFileFolder, searchPattern))
    {
        // Exposes file information like Name
        var theFileInfo = new FileInfo(file);
        // Gets the user name based on file name
        // Sets up the destination location
        var destination = soruceFolder+ theFileInfo.Name;
        File.Move(file, destination);
    }
}
源目标为:soruceFolder源为:pstFileFolder


我面临的问题是,我无法控制复制的内容。我的代码似乎正在获取所有文件,而没有检查sourfolder中是否存在这些文件。您需要检查目标文件夹,查看它是否包含您的文件,如下所示:

 private static void CopyPaste()
 {
var pstFileFolder = "C:/Users/chnikos/Desktop/CopyFolderTest/";
var searchPattern = "*.docx";
var soruceFolder= "C:/Users/chnikos/Desktop/CopyFolderTest/Test/";

// Searches the directory for *.pst
foreach (var file in Directory.GetFiles(pstFileFolder, searchPattern))
{
    // Exposes file information like Name
    var theFileInfo = new FileInfo(file);
    // Gets the user name based on file name
    // Sets up the destination location
    var destination = soruceFolder+ theFileInfo.Name;
    if(File.Exist(destination))
    {
       File.Delete(destination);
    File.Move(file, destination);
    }
}
}

它会删除目标文件夹中的文件(如果存在),并移动您的文件。因此,如果目标文件夹中不存在该文件,则它不会执行任何操作

您需要检查目标文件夹,查看它是否包含您的文件,如下所示:

 private static void CopyPaste()
 {
var pstFileFolder = "C:/Users/chnikos/Desktop/CopyFolderTest/";
var searchPattern = "*.docx";
var soruceFolder= "C:/Users/chnikos/Desktop/CopyFolderTest/Test/";

// Searches the directory for *.pst
foreach (var file in Directory.GetFiles(pstFileFolder, searchPattern))
{
    // Exposes file information like Name
    var theFileInfo = new FileInfo(file);
    // Gets the user name based on file name
    // Sets up the destination location
    var destination = soruceFolder+ theFileInfo.Name;
    if(File.Exist(destination))
    {
       File.Delete(destination);
    File.Move(file, destination);
    }
}
}

它会删除目标文件夹中的文件(如果存在),并移动您的文件。因此,如果目标文件夹中不存在该文件,则它不会执行任何操作

你能描述一下这个代码的问题吗?特别地。不清楚目标目的地和源目的地是什么您的问题中没有问题!你能解释一下你有什么问题吗?你可能想读@KrisVandermotten不,谢谢,那很好。。。我将跳过这一步。你能描述一下你对这一代码有什么问题吗?特别地。不清楚目标目的地和源目的地是什么您的问题中没有问题!你能解释一下你有什么问题吗?你可能想读@KrisVandermotten不,谢谢,那很好。。。我不谈那件事