【问题标题】:Why is this not renaming my file? [duplicate]为什么这不重命名我的文件? [复制]
【发布时间】:2014-06-15 10:29:17
【问题描述】:

我正在使用 file.copyfile 重命名我的文件,但它似乎不起作用文件名保持不变?

    Dim _filename As String
    Dim _path As String
    Dim _newfilename As String

    _filename = Path.GetFileNameWithoutExtension(filename)
    _path = Path.GetDirectoryName(filename)
    _newfilename = _filename & "." & extension
    My.Computer.FileSystem.CopyFile(filename,
    _newfilename, True)

【问题讨论】:

  • 复制文件不会重命名文件 - 它会复制它。请您编辑您的问题以明确说明您要做什么?你可能想看看 File.Move (stackoverflow.com/questions/3218910/rename-a-file-in-c-sharp)
  • 根据文档,它确实会重命名文件msdn.microsoft.com/en-us/library/36xbexyf(v=vs.90).aspx
  • 文档并没有说它会重命名原始文件。它可以覆盖现有文件或复制到新名称(重命名),但原始文件将保持不变,除非您按照其他 cmets 移动它
  • 对不起.. 误读了 RB 的答案。
  • @SysDragon 这可能是概念上的重复,但坦率地说,这个答案很糟糕。那是最好的骗局吗?如果是这样,那么这里更完整的答案会更好地为社区服务。

标签: vb.net winforms


【解决方案1】:

你可以试试这个:

My.Computer.FileSystem.RenameFile(currentFileName, NewFileName)

http://msdn.microsoft.com/en-us/library/5w05844e.aspx

我认为您下面的代码将 _newfilename 设置为文件名,并且不包括目录。我认为该文件正在被复制到运行应用程序的根文件夹中。我认为 RenameFile 应该可以满足您的需要。让我知道这是否可以。

_newfilename = _filename & "." & extension

【讨论】:

    猜你喜欢
    • 2016-07-24
    • 2014-11-24
    • 2013-08-05
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多