Я извлекаю ISO, а затем копирую папку из извлеченного ISO. Проблема в том, что извлеченные файлы доступны только для чтения. Я пытался изменить его из меню свойств и из кода на С#. Ни один из них не работал.
Код, который я использовал для извлечения ISO, находится в другом вопросе: автоматически извлекать ISO с помощью WinRAR с помощью С# или пакетного режима
Я ищу способ либо изменить атрибуты извлеченного ISO, чтобы я мог копировать из его подпапок, либо просто изменить разрешения для подпапок.
заранее спасибо
ОБНОВЛЕНИЕ
новый код
string[] folderToName = txtCopyFrom.Text.Split('\\');
string isoName = folderToName[folderToName.Length - 1];
isoName = isoName.Remove(isoName.Length - 4, 4);
string copyTestFrom = txtCopyTo.Text + @"\"+ isoName + @"\Test\subTest";
string[] folderName = txtCopyFrom.Text.Split('\\');
string folderTestTo = folderName[folderName.Length - 1];
folderTestTo = folderTestTo.Remove(folderTestTo.Length - 4, 4);
string copyTest = txtCopyTo.Text;
System.IO.Directory.CreateDirectory(copyTest);
DirectoryInfo di = new DirectoryInfo(copyTestFrom);
di.Attributes &= ~FileAttributes.ReadOnly;
foreach (FileInfo fi in di.GetFiles())
{
fi.IsReadOnly = false;
string destinationPath = Path.Combine(copyTest, Path.GetFileName(copyTestFrom));
File.Copy(copyTestFrom, destinationPath);
}
MessageBox.Show("Files Copied");
Файлы в subTest доступны не только для чтения, но и для самой папки.
Путь назначения ведет к C:\users\mydocs\ISODump\subTest
После исключения access denied
я все еще могу скопировать папку вручную
ОБНОВЛЕНИЕ 2
обходной путь
Нашел работу вокруг, для моих целей. directory.move
достигает цели, которую я хотел, перемещая папку, а не копируя ее.
Спасибо
I've tried changing it from the properties menu, and from code in c#. Neither worked.
. Если вы не можете изменить его из меню свойств, вы не можете ожидать, что он будет работать из кода C#. Проблема с разрешениями? Вы не пытаетесь изменить файлы на диске только для чтения (например, смонтированный iso)? - person Kevin Gosse   schedule 23.05.2012Access to the path 'C:\Documents and Settings\user\My Documents\ISO DUMP!!\extracted ISO\Test\subtetst' is denied.
- это исключение, которое выдается. Если я выйду за пределы IDE и щелкну правой кнопкой мыши, скопирую, а затем вставлю в свои документы, это сработает, поэтому у меня есть доступ. Попробовал ответ Стива, это не сработало, теперь я запускаю ответ Ниранджана Калы. - person ELSheepO   schedule 23.05.2012