2012-06-07 33 views
-1

我在哪里工作,我测试软件,我们每天在服务器上放置一个新的软件版本,我需要能够保存一个版本的副本并重命名它的日期保存,我该怎么做?制作一个文件备份程序

(起始位置和目标位置将是一样的,每次)

的文件仅仅是一个安装程序有点,它包含了所有的自我。

我需要它来访问原始创建日期,所以我没有多个同名文件的问题,并且很容易找到我需要的构建。

+1

生怕被老套: “你尝试过这么远吗?”哪里有问题? – Chris

+0

我想保存以前版本的备份,因为它们在新版本生成时从服务器中删除,我不想进入阵列,但是如果我绝对必须的话,我会保留。 – shred1894

+0

@ shred1984:你错过了我的观点。用最简单的术语来说,您只需要将目录结构复制到具有不同名称的其他位置。对你来说这是一个足够的答案吗?我假设你已经想到了这一点,所以也许你试图做到这一点,并失败了。你在复制时遇到麻烦吗?与它的调度发生?用别的东西?你可能会发现,最简单的方法就是每天放入新的构建版本,并将其放到标准位置和基于当前日期的目录中。 – Chris

回答

3

从MSDN:

string path = @"c:\temp\MyTest.txt"; 
string path2 = path + "temp"; 

try 
{ 
     // Create the file and clean up handles. 
     using (FileStream fs = File.Create(path)) {} 

     // Ensure that the target does not exist. 
     File.Delete(path2); 

     // Copy the file. 
     File.Copy(path, path2); 
     Console.WriteLine("{0} copied to {1}", path, path2); 

     // Try to copy the same file again, which should succeed. 
     File.Copy(path, path2, true); 
     Console.WriteLine("The second Copy operation succeeded, which was expected."); 
    } 
+0

感谢,我会尝试这个 – shred1894

+0

这是最接近的答案在这里,我得到我想 – shred1894

+0

我我确信你可以从那里创建一些逻辑。 – Ademar

0

你是在谈论运行一个批处理脚本或VBScript类型文件来自动执行此操作吗?这就是我能想到的最简单的方法。但是,我可能会简化你的情况,所以请让我知道。我可以为您提供一些关于如何通过.bat或vbscript文件执行此操作的示例代码。

+0

我打算把它转换为帕斯卡,并作出一个exe出来的,绝对TSO我能做到这一点在启动时每一天 – shred1894

0

我会为每个版本创建一个名称中包含日期的新文件夹(如“Build_2012_06_07”),并将属于版本的所有文件(.exe,.dll,.pdb等)移动到此文件夹中重命名文件。

+0

我可以做这样的说法 – shred1894