[問題] 替檔案設定時間
我嘗試幫複製出來的檔案設定時間
但是只要碰到有"唯讀"屬性的檔案 複製出來的檔案時間設定就會不對
時間不會是我要的 而是被複製出來的時間
下面是code 請問可能是哪邊出錯?@@
感謝!
HANDLE hFileOld, hFileNew;
FILETIME OCreateTime, OLastAccessTime, OLastWriteTime;
const FILETIME *NCreationTime, *NLastAccessTime, *NLastWriteTime;
hFileOld = CreateFile(cOldPathName, GENERIC_READ|GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
hFileNew = CreateFile(cNewPathName, GENERIC_READ|GENERIC_WRITE, 0,
NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
//設定時間
GetFileTime(hFileOld, &OCreateTime, &OLastAccessTime, &OLastWriteTime);
NCreationTime = &OCreateTime;
NLastAccessTime = &OLastAccessTime;
NLastWriteTime = &OLastWriteTime;
SetFileTime(hFileNew, NCreationTime, NLastAccessTime,NLastWriteTime);
CloseHandle(hFileNew);
CloseHandle(hFileOld);
--
★
╔╮ ╭═╦╮╭═╦╗╮ ╮╔══╮╭═╦╮╮ ╔╮╔══╮╭══╮
╠╣ ╠═╬╣╭╬╩╯╰╦╦╯╠═╦╮║ ╠╣║║╠╣╠╣ ╰═╦╮
╠╣ ╭║ ╠╣║╰╔╗ ╠╣ ║ ╠╣║ ╠╣║╰╠╣║╰╔╗║ ╠╣
╰╩═╯╰ ╰╝╚═╩╯ ╰╝ ╚═╩╯╰═╩╯╰ ╰╝╚═╩╯╰═╩╯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.0.80
推
11/18 11:18, , 1F
11/18 11:18, 1F
→
11/18 11:19, , 2F
11/18 11:19, 2F
→
11/18 11:25, , 3F
11/18 11:25, 3F
推
11/18 11:35, , 4F
11/18 11:35, 4F
推
11/18 11:54, , 5F
11/18 11:54, 5F
→
11/18 11:54, , 6F
11/18 11:54, 6F
謝謝!我OS是MS XP
然後複製檔案部分是自己用fopen()開2個 分別讀跟寫
所以新檔案在設定屬性之前 應該也沒有"唯讀"屬性
不過就算先設時間 再給屬性 時間還是一樣不對 Orz
※ 編輯: lazybones 來自: 218.211.0.80 (11/18 13:03)
推
11/18 13:14, , 7F
11/18 13:14, 7F
→
11/18 13:15, , 8F
11/18 13:15, 8F
→
11/18 13:16, , 9F
11/18 13:16, 9F
→
11/18 13:16, , 10F
11/18 13:16, 10F
→
11/18 13:17, , 11F
11/18 13:17, 11F
→
11/18 13:17, , 12F
11/18 13:17, 12F
→
11/18 13:17, , 13F
11/18 13:17, 13F
→
11/18 13:18, , 14F
11/18 13:18, 14F
→
11/18 13:19, , 15F
11/18 13:19, 15F
→
11/18 13:19, , 16F
11/18 13:19, 16F
→
11/18 14:06, , 17F
11/18 14:06, 17F
→
11/18 14:07, , 18F
11/18 14:07, 18F
唔...搞定了= =
我後來在做複製之前先做以下處理
dwAttributes = GetFileAttributes(cOldPathName); //取得cOldPathName屬性
SetFileAttributes(cOldPathName, 0); //把cOldPathName屬性設成一般
做完複製之後
SetFileAttributes(cOldPathName, dwAttributes); //設成原來屬性
這樣就沒有我之前的問題了 囧>
※ 編輯: lazybones 來自: 218.211.0.80 (11/18 14:59)
推
11/18 16:30, , 19F
11/18 16:30, 19F