Новичок борется с простой программой?
Всем привет
Я пытаюсь создать простую программу копирования файлов для копирования файлов *.tif из одного места from_path до другого to_path.
Скажем, если from_path это что-то вроде "D:\database", то содержимое внутри него выглядит так
"D:\database\12345\tiffile1.tif, tiffile2.tif ... etc" "D:\database\12335\tiffile1.tif, tiffile2.tif ... etc"
так далее...
а если ... to_path это что-то вроде "E:\Jobs", то содержимое внутри него выглядит так
"E:\Jobs\12334-12366\1\xml\12345.xml" "E:\Jobs\13334-12666\15\xml\12335.xml"
Я хочу скопировать все тиф файлы из папки в from_path чье имя точно совпадает с именем xml - файла в to_path
Ниже приведен метод, который я пытался реализовать
1) получить все файлы *.xml из to_path
2) получить имя и полный путь к xml-файлу
3) проверьте, является ли папка с тем же именем, что и xml-файл в from_path существовать
4) если да, то скопируйте все тиф файлы из него и вставьте в папку с именем xml, используя полный путь на шаге 2.
Я пробовал что-то вроде ниже, но я получаю Система.UnauthorizedAccessException: доступ к пути D:\database\12335-это отрицается.
Кроме того, targetLoc показывает путь к файлу в каталоге my programs bin.
Что я уже пробовал:
string to_path=textBox1.Text; string from_path=textBox2.Text; DirectoryInfo diCopyFrom = new DirectoryInfo(from_path); DirectoryInfo diCopyTo = new DirectoryInfo(to_path); FileInfo[] xmlFiles = diCopyTo.GetFiles("*.xml",SearchOption.AllDirectories); foreach (FileInfo xmlFile in xmlFiles) { var xmlDir = Path.GetFileNameWithoutExtension(xmlFile.Name); var targetLoc=Path.GetFullPath(xmlFile.Name); var tifLoc = Directory.GetDirectories(from_path,xmlDir,SearchOption.AllDirectories).FirstOrDefault(); if (Directory.Exists(tifLoc.ToString())) File.Copy(tifLoc, targetLoc, true); } MessageBox.Show("Finished")
BillWoodruff
начните здесь: https://stackoverflow.com/questions/8821410/why-is-access-to-the-path-denied
описание вашей проблемы немного сбивает с толку: вы упоминаете "вставить", которое является пользовательским действием в Windows со стороны пользователей, но здесь вы используете код.
Member 12692000
на сайте StackOverflow статьи не помогли решить проблему...есть некоторые проблемы с логикой в коде? Мне трудно понять, хотя эта программа должна была быть легкой и простой.
Member 12692000
Я имел в виду скопировать файлы в нужную папку...моя вина