尝试重命名文件时出错

时间:2013-06-13 22:15:34

标签: vb.net io file-rename file-copying

嗨社区!

我在VB.Net中有一个应用程序,在用户的计算机中位于程序文件中。 用户始终以管理员身份运行程序。

但在某些情况下;当程序尝试重命名程序文件中的文件时,程序会抛出以下异常:

不支持给定路径的格式。 SOURCE = System.Security.Util.StringExpressionSet.CanonicalizePath

此外,当我尝试复制文件时也会发生。

应用程序会自动重命名或复制,并且它与所有用户的名称相同

示例:

Rename(vOld, vNew)
FileCopy(vOld, vNew)

此异常仅发生在Win7中。

有人知道某些用户出现此异常的原因是什么?

2 个答案:

答案 0 :(得分:0)

当用户提供无效的文件名时会发生这种情况,例如包含冒号的文件名。

您应该验证用户输入的文件名不包含System.IO.Path.GetInvalidPathChars中的任何值。

答案 1 :(得分:0)

这都是我的错!

-_-'

我正在尝试重命名此路径:

C:\_MyFile.xlsx

要:

C:\MyFile.xlsx

在我的计算机中一切正常,因为我有两个文件(用户只有带下划线的文件)。 当程序尝试验证时,尝试将文件"_C:\MyFile.xlsx"重命名为"C:\MyFile.xlsx"

该异常没有提供有关我的错误的详细信息......