【问题标题】:How to programmatically convert a .cal file to a .cg4?如何以编程方式将 .cal 文件转换为 .cg4?
【发布时间】:2013-02-15 16:33:08
【问题描述】:

在 Windows 资源管理器中,我可以将 .cal 文件的文件扩展名更改为 .cg4 文件。当我这样做时,我会收到警告; “更改文件扩展名可能会使文件无用,您还想更改吗?”或类似的东西(操作系统不是英语),但如果我点击“是”,它就可以工作。

但是尝试使用 C# 以编程方式执行此操作是行不通的。我收到一条错误消息:“不支持给定路径的格式。”

我正在使用 File.Move 进行重命名/转换,这就是发生错误的地方。

File.Move(directory + fileNameWithoutExtension + ".cal", directory + fileNameWithoutExtension + ".cg4");

我能做什么?

【问题讨论】:

  • 请告诉我们directoryfileNameWithoutExtension 的值。一个或两个都可能包含一个或多个非法字符。
  • 您是否尝试在不更改扩展名的情况下移动文件?
  • 请注意,您只是重命名文件,而不是更改(转换)它。
  • directory 的值是否以 `\` 结尾?或者换句话说:“directory + filenameWithoutExtension + extension”是合法的文件名吗?
  • @Richard Cook - 是的,我检查了 fileNameWithoutExtension 实际上有它的路径。这么简单的错误。

标签: c# rename


【解决方案1】:

这行得通吗?

var pathSource = System.IO.Path.Combine(directory, fileNameWithoutExtension, ".cal");
var pathDest = System.IO.Path.Combine(directory, fileNameWithoutExtension, ".cg4");
File.Move(pathSource, pathDest);

如果它也抛出错误,检查是否

fileNameWithoutExtension

已经包含了

的数据

目录

【讨论】:

  • 正确。它包含目录的数据。
猜你喜欢
  • 2011-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多