Следующий код доказывает, что атрибуты файла скопированы.
Dim sourceFile = "z.txt"
Dim destinationFile = "x.txt"
Using sw As IO.StreamWriter = IO.File.CreateText(sourceFile)
sw.Write("testing")
End Using
IO.File.SetAttributes(sourceFile, IO.FileAttributes.ReadOnly)
Debug.WriteLine("Source File ReadOnly = " & (IO.File.GetAttributes(sourceFile) And IO.FileAttributes.ReadOnly))
IO.File.Copy(sourceFile, destinationFile)
Debug.WriteLine("Destination File ReadOnly = " & (IO.File.GetAttributes(destinationFile) And IO.FileAttributes.ReadOnly))
И только что использовав Reflector, я вижу, что IO.File.Copy использует функцию CopyFile kernel32.dll, которая имеет документацию о том, что копируется, а что нет: http://msdn.microsoft.com/en-us/library/aa363851(VS.85).aspx