在同一 folder/directory 位置的上一个位置创建文件副本

Creating copy of a file at one position up in the same folder/directory location

我有一条路;

\\username-txd\location\Configuration\MediaManagerConfig\Web.config

我想在同一文件夹中的一个位置创建文件副本,即

\\username-txd\location\Configuration\Web.config

任何人都可以帮助我编写代码,因为我是 C# 的新手

您可以使用File.Copy复制文件。 要获取目标文件名,您可以这样做

Path.Combine(Path.GetDirectoryName(Path.GetDirectoryName(path)), Path.GetFileName(path));

和 'path' 带文件名的完整路径。 您需要导入 System.IO.

DirectoryInfo.Parent returns 这个 MediaManagerConfig 你可以做一些字符串操作,比如;

var di = new DirectoryInfo(@"\\username-txd\location\Configuration\MediaManagerConfig\Web.config");
Console.WriteLine(di.FullName.Replace(di.Parent.Name + Path.DirectorySeparatorChar, ""));

结果将是;

\username-txd\location\Configuration\Web.config

如果你想根据你的结果使用 4 个反斜杠,你也可以用 \\\ 替换。

我会使用类似 DirectoryInfo class 的功能的东西。它知道文件系统上的关系并提供例如.Parent 属性:

string originalFilename = "\\username-txd\location\Configuration\MediaManagerConfig\Web.config";
string originalPath = Path.GetDirectoryName(originalFilename);
string newPath = Path.Combine(new DirectoryInfo(originalPath).Parent.FullName, Path.GetFileName(originalFilename));