0

早上好,

我正在创建一个小型应用程序作为学习项目的一部分。我正在使用 Visual Express 2010,语言是 C#。

我设置了两个文件夹(destinationFolder 和 sourceFolder)。第一个包含以下文件:

data1.txt, data2.txt, data3.txt, data4.txt

第二个包含完全相同的文件,但其中写有“v2”。

该应用程序应该获取 sourceFile 中的所有文本文件并复制它们以覆盖在destinationFolder 中找到的文件,以便它们也将在其中写入“v2”。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Updater
{
    class Program
    {
        static void Main(string[] args)        
        {
            Console.WriteLine("--- (!) APP UPDATER (!) ---");
            Console.WriteLine("press enter to begin update");
            Console.ReadLine();

            string sourceFolder = "C:\\Users\\Desktop\\sourceFolder";

            Console.WriteLine("--- updating --- beginning update");

            string destinationFolder = AppDomain.CurrentDomain.BaseDirectory; // from where .exe is run

            string[] allFilesInSourceFolder = System.IO.Directory.GetFiles(sourceFolder);
            string[] allFilesInDestinationFolder = System.IO.Directory.GetFiles(destinationFolder);

            Console.WriteLine("getting data from " + sourceFolder);
            Console.WriteLine("beginning copy in " + destinationFolder);
            Console.WriteLine("");

            for (int i = 0; i < allFilesInSourceFolder.Length; i++)
            {                    
                System.IO.File.Copy(allFilesInSourceFolder[i], allFilesInDestinationFolder[i], true);
                Console.WriteLine("--- (!) updating (!) --- copying file " + i + "/" + allFilesInSourceFolder.Length);

            }
            Console.WriteLine("");
            Console.WriteLine("--- UPDATE FINISHED --- press enter to exit");
            Console.ReadLine();
        }        
    }
}    

由于某种原因,只有 data1.txt 和 data2.txt 被复制而没有问题。其余不复制。另外,为什么我的循环永远不会达到 4/4?

4

3 回答 3

0

尝试代替长度 <-> 计数

for (int i = 0; i < allFilesInSourceFolder.Length; i++)
for (int i = 0; i < allFilesInSourceFolder.Count; i++)
于 2013-06-17T13:12:14.777 回答
0

在 System 中有一个库,IO。这包含各种方便的花花公子功能,例如: File.Copy 看看里面或签出msdn

于 2013-06-17T08:39:05.153 回答
0

这严格来说是一个安全问题。过去只需致电 IT 部门将我添加到某个安全组即可解决。

于 2015-07-21T11:37:24.093 回答