早上好,
我正在创建一个小型应用程序作为学习项目的一部分。我使用的是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?
答案 0 :(得分:0)
在系统中有一个库,IO。这包含各种方便的花花公子功能,如: File.Copy看看里面或结帐msdn
答案 1 :(得分:0)
尝试代替长度&lt; - &gt;计数
for (int i = 0; i < allFilesInSourceFolder.Length; i++)
for (int i = 0; i < allFilesInSourceFolder.Count; i++)
答案 2 :(得分:0)
这严格来说是一个安全问题。它在过去通过简单地调用IT将我添加到某个安全组来解决。