我正在提取 ISO,然后从提取的 ISO 中复制一个文件夹。问题是提取的文件是只读的。我尝试从属性菜单和 c# 中的代码更改它。都没有奏效。
我用于提取 ISO 的代码在另一个问题中:extract ISO with winrar automatic with c# or batch
我正在寻找一种方法来更改提取的 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
通过移动文件夹而不是复制它来达到我想要的目的。
谢谢