Мне доступен абсолютный путь. Скажите: C:/Program/CoreFiles/Folder1/Folder2/File.txt
.
Мне нужно скопировать этот файл в C:/Program/Projects/ProjectName/
, но он должен сохранить Folder1/Folder2/File.txt
в целости и сохранности. Таким образом, конечный результат должен быть C:/Program/Projects/ProjectName/Folder1/Folder2/File.txt
.
Моя первая попытка решить эту проблему состояла в том, чтобы попытаться получить относительный путь между двумя абсолютными путями. Найден Path.GetRelativePath (string, string) , который, очевидно, не помог, так как он не предназначен для WinForms. Это все равно испортит, так как конечный результат будет C:/Program/Projects/ProjectName/CoreFiles/Folder1/Folder2/File.txt
.
Целевой каталог пуст, и я заранее не знаю относительный путь для копирования, кроме как каким-то образом получить эту информацию из абсолютного пути. Поскольку File.Copy
не будет создавать папки, которые еще не существуют, мне нужно сначала создать их. Итак, как мне получить путь, ведущий к файлу из каталога CoreFiles
по абсолютному пути?
Единственное рабочее решение, которое я могу придумать, - это использовать regex, чтобы просто заменить CoreFiles
на Projects/ProjectName
в строке пути и работа с этим. Но это как-то кажется неправильным подходом.