【问题标题】:Copy directory overwriting existing files复制目录覆盖现有文件
【发布时间】:2013-10-10 02:39:38
【问题描述】:

我的程序卡住了,需要一些帮助

我已经编写了一种将模板从一个目录复制到另一个目录的方法

     'My.Computer.FileSystem.CopyDirectory("C:\MYapp\TEMPLATES\" & ComboBox1.Text, "C:\Myapp\PROJECTS\" & form1.label1.Text & "\Template")

但是,如果文件已经存在,则会覆盖原始文件。不知何故,我需要能够在复制过程中重命名 "C:\MYapp\TEMPLATES\" & ComboBox1.Text 中的文件

还有没有办法继续这样做?

我正在使用 VB.net

编辑:

For Each CONTENTS_FILES In System.IO.Directory.GetFiles("C:\myapp\TEMPLATES\" & ComboBox1.Text)

    ' do whatever wtih filename
    System.IO.File.Copy("C:\myapp\TEMPLATES\" & ComboBox1.Text & CONTENTS_FILES, C:\myapp\PROJECTS\" & PROJECTS.PROJECTlabel.Text & "\Template\" & TimeOfDay & CONTENTS_FILES)
next

但是我现在迷失在我的代码中?

【问题讨论】:

    标签: vb.net file directory rename


    【解决方案1】:

    如果您想避免覆盖现有文件,您需要一次复制一个文件并测试每个文件是否已经存在:

    If System.Io.File(THISFILENAME).Exists Then
        ' use a different name
    Else
         ' continue
    End If
    

    【讨论】:

    • 是的。我展示的代码将进入一个循环,例如您在编辑中添加的那个。您需要修复一些变量的类型,例如 CONTENTS_FILES 它是什么?与其使用 TIMEOFDAY,不如做一些简单的事情,比如& ".bak"
    猜你喜欢
    • 2021-02-06
    • 2015-01-20
    • 2015-09-07
    • 1970-01-01
    • 2016-04-22
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    相关资源
    最近更新 更多