C_and_CPP 板


LINE

我尝试帮复制出来的档案设定时间 但是只要碰到有"唯读"属性的档案 复制出来的档案时间设定就会不对 时间不会是我要的 而是被复制出来的时间 下面是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
1F:推 ledia:SetFileTime 得要有 FILE_WRITE_ATTRIBUTES 11/18 11:18
2F:→ ledia:唯读档案应该是没办法改的 11/18 11:19
3F:→ lazybones:谢谢!那唯读档案有function能处理吗? 11/18 11:25
4F:推 ledia:用 SetFileAttributes 拿掉唯读权限? 如果不能拿就没法了 11/18 11:35
5F:推 VictorTom:这应该跟OS档案系统有关了吧?? 在Linux下没有w权限的档 11/18 11:54
6F:→ VictorTom:档案应该也不能touch吧....?_? 11/18 11:54
谢谢!我OS是MS XP 然後复制档案部分是自己用fopen()开2个 分别读跟写 所以新档案在设定属性之前 应该也没有"唯读"属性 不过就算先设时间 再给属性 时间还是一样不对 Orz ※ 编辑: lazybones 来自: 218.211.0.80 (11/18 13:03)
7F:推 VictorTom:Windows下有Created时间与Modified时间, 一般我们直接 11/18 13:14
8F:→ VictorTom:Copy file, 解压缩, 安装档案等时, Created的时间都是当 11/18 13:15
9F:→ VictorTom:下操作的时间, Modifed才会是原来档案最後修改的时间; 11/18 13:16
10F:→ VictorTom:小弟觉得这就是OS档案系统的行为, 在这边你去搞唯读什麽 11/18 13:16
11F:→ VictorTom:的应该没什麽用; 不晓得为什麽您要care这个时间的问题. 11/18 13:17
12F:→ VictorTom:PS. 小弟也是XP, 就算不是唯读, 复制时Created时间都是 11/18 13:17
13F:→ VictorTom:当下的@_@" 11/18 13:17
14F:→ VictorTom:PS2.唯读档案, 复制完Modified时间也不会变, 补充一下:) 11/18 13:18
15F:→ VictorTom:如果WindowsAPI没有提供修改的方式, 而您又真的想弄到一 11/18 13:19
16F:→ VictorTom:模一样, 感觉就要跨过OS档案系统才办得到, 以上纯猜测XD 11/18 13:19
17F:→ lazybones:谢谢!我问题就出在Modified时间(LastWriteTime?)不对 11/18 14:06
18F:→ lazybones:为啥要care...因为是作业要求 哈!感谢l大 V大 11/18 14:07
唔...搞定了= = 我後来在做复制之前先做以下处理 dwAttributes = GetFileAttributes(cOldPathName); //取得cOldPathName属性 SetFileAttributes(cOldPathName, 0); //把cOldPathName属性设成一般 做完复制之後 SetFileAttributes(cOldPathName, dwAttributes); //设成原来属性 这样就没有我之前的问题了 囧> ※ 编辑: lazybones 来自: 218.211.0.80 (11/18 14:59)
19F:推 ledia:没错~ 先去掉唯读, 改好时间之後再加回来, 不过这要求怪怪XD 11/18 16:30







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP