注册 登录
编程论坛 VFP论坛

VFP可以修改文件属性信息吗

easyppt 发布于 2025-04-10 09:49, 186 次点击
文件 右键 → 属性,可以看到文件的 创建时间、修改时间、访问时间,再高级标签中,还有更多信息,比如作者,最后编辑的作者等

VFP怎么修改这些信息吗
8 回复
#2
schtg2025-04-10 12:06
应该可以获得这些参数的,需要试一试。
#3
csyx2025-04-10 14:24
取出来很容易,修改就复杂了

程序代码:
ff = GetFile()
Create Cursor ttt (f1 I, f2 V(200))
sh = CreateObject('Shell.Application')
od = sh.NameSpace(JustPath(ff))
of = od.items.item(JustFname(ff))
For ii = -1 to 500
    Insert into ttt Values (ii, od.GetDetailsOf(of,ii) )
EndFor
Locate
Browse



[此贴子已经被作者于2025-4-10 19:41编辑过]

#4
shizi02025-04-11 18:45
时间MyFll好改,实际调用的windowsApi:
函数名:SetFileTime(cFileName,tDateTime[,nType])
修改文件的修改时间、创建时间、最后访问时间
返回值:逻辑值,为真时成功。
参数:
cFileName:字符型,要修改时间的文件名
tDateTime:日期时间型,将要修改成的时间
[nType]:数值型,可选,修改的类型,默认值为2,其中:
1-创建时间
2-修改时间
3-最后访问时间


[此贴子已经被作者于2025-4-11 18:47编辑过]

#5
easyppt2025-04-12 08:11
谢谢各位老师
创建者、计算机 等这些信息能改吗
比如打开一个word文档,详细信息中,来源 这些信息,要是也都能改就好了



[此贴子已经被作者于2025-4-12 08:14编辑过]

#6
csyx2025-04-12 11:48
不是所有属性都可以修改的。word自己就可以修改部分隐私信息,凡是详细信息中可以手工修改的属性,word对象都可以做到,但是调用COM对象非常慢

程序代码:
Clear
ow = NewObject('Word.Application')
od = ow.Documents.Open(GetFile('doc,docx'))
For each op in od.BuiltInDocumentProperties
    ? Padr(op.name+':', 50, '.')
    Try
        ?? op.value
    Catch
        ?? 'N/A'
    EndTry
    *-- 修改或清空某些属性: 、
    Do case
    Case InList(op.name, 'Author','????')    && 作者
        m.op.Value = 'easyppt@bccn'
        ?? '  >>> ' + m.op.Value
    Case InList(op.name, 'Manager','Company')  && 管理者、公司
        op.value = ''
        ?? '  >>> (清空)'
    Otherwise
        *-- 不修改或不能修改
    EndCase
EndFor
od.Close(.t.)   && 保存修改
ow.Quit()

#7
easyppt5 天前 17:47
PDF文件,通过修改文件创建时间的工具修改后,,再用WPS查看文档信息后,会看到 PDF文件的原始创建时间并没有改变

#8
csyx4 天前 09:06
以下是引用easyppt在2025-4-19 17:47:53的发言:
PDF文件,通过修改文件创建时间的工具修改后,,再用WPS查看文档信息后,会看到 PDF文件的原始创建时间并没有改变

前面跟你说过,修改是很复杂的,不同类型的文件可能有它自己独特的结构,没有统一的标准
pdf 的创建和修改时间是采用元数据方式保存在 pdf 文件内部的,可以用元数据编辑器修改,自己手改或写段 vfp 代码来改也不难
#9
easyppt昨天 08:15
谢谢老师解答,原来是 元数据 存储文档的额外信息的。

另外要有一个问题:就是文件固有的 创建时间、修改时间、最后访问时间  这3个时间通过文件右键属性就能看到,这个是怎么存储在文件中的,通过hex查看器也看不到,但第三方小工具可以修改,所以这3个时间应该也是写在文件头中吧,有固定位置吗,是什么结构存储的。
1