Я пытаюсь решить проблему с приложением, которое я скомпилировал, чтобы ускорить мою работу.Идея состоит в том, чтобы организовать структуру папок автоматически (копировать файлы из исходных в целевые папки), основываясь на расширении файла с помощью приложения WinForm.Проблема в том, что я недавно начал писать код на C # и не могу найти способ справиться с вложенными дублированными файлами в структуре папок.
Пример древовидной структуры:
| Analysis.xls
| Handoff request.msg
| Reference documentation.doc
|
\---Trados package
+---DE
| Translation text.sdlxliff
|
+---EN
| Translation text.sdlxliff
|
+---FR
| Translation text.sdlxliff
|
+---SV
| Translation text.sdlxliff
|
\---TM
+---DE
| Ref TM.sdltm
|
+---FR
| Ref TM.sdltm
|
\---SV
Ref TM.sdltm
Мне удалось скомпилировать решение (основываясь на некоторых хороших предложениях здесь), чтобы помочь мне с уникальными файлами, однако я не могу обработать дубликаты, вложенные в языковые папки.
{
var sourcePath = @"C:\Users\Home\Desktop\source";
var targetPath = @"C:\Users\Home\Desktop\target";
var extensions = new[] { ".sdlxliff", ".mqxliff", ".sdltm", ".tmx" };
var files = (from file in System.IO.Directory.EnumerateFiles(sourcePath, "*", SearchOption.AllDirectories)
where extensions.Contains(System.IO.Path.GetExtension(file), StringComparer.InvariantCultureIgnoreCase)
select new
{
Source = file,
Destination = System.IO.Path.Combine(targetPath, System.IO.Path.GetFileName(file))
});
{
foreach (var file in files)
File.Copy(file.Source, file.Destination);
MessageBox.Show("Done", "Done", MessageBoxButtons.OK, MessageBoxIcon.Information);
Ожидаемым результатом будет копирование дублированных файлов с их родительской папкой в целевую папку (т. Е. Если я пытаюсь скопировать текст перевода.sdlxliff перевода из исходного каталога "C: \ Users"\ Home \ Desktop \ source \ Trados package \ DE ", затем файл должен быть добавлен в следующую целевую папку" C: \ Users \ Home \ Desktop \ target \ Trados package \ DE ". То же самое должно произойти с TMпапка и все вложенные в нее файлы.
Спасибо за предложения.