编程论坛
注册
登录
编程论坛
→
VFP论坛
VFP可以修改文件属性信息吗
easyppt
发布于 2025-04-10 09:49, 186 次点击
文件 右键 → 属性,可以看到文件的 创建时间、修改时间、访问时间,再高级标签中,还有更多信息,比如作者,最后编辑的作者等
VFP怎么修改这些信息吗
8 回复
#2
schtg
2025-04-10 12:06
应该可以获得这些参数的,需要试一试。
#3
csyx
2025-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
shizi0
2025-04-11 18:45
时间MyFll好改,实际调用的windowsApi:
函数名:SetFileTime(cFileName,tDateTime[,nType])
修改文件的修改时间、创建时间、最后访问时间
返回值:逻辑值,为真时成功。
参数:
cFileName:字符型,要修改时间的文件名
tDateTime:日期时间型,将要修改成的时间
[nType]:数值型,可选,修改的类型,默认值为2,其中:
1-创建时间
2-修改时间
3-最后访问时间
[此贴子已经被作者于2025-4-11 18:47编辑过]
#5
easyppt
2025-04-12 08:11
谢谢各位老师
创建者、计算机 等这些信息能改吗
比如打开一个word文档,详细信息中,来源 这些信息,要是也都能改就好了
[此贴子已经被作者于2025-4-12 08:14编辑过]
#6
csyx
2025-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
easyppt
5 天前 17:47
PDF文件,通过修改文件创建时间的工具修改后,,再用WPS查看文档信息后,会看到 PDF文件的原始创建时间并没有改变
#8
csyx
4 天前 09:06
以下是引用
easyppt
在2025-4-19 17:47:53的发言:
PDF文件,通过修改文件创建时间的工具修改后,,再用WPS查看文档信息后,会看到 PDF文件的原始创建时间并没有改变
前面跟你说过,修改是很复杂的,不同类型的文件可能有它自己独特的结构,没有统一的标准
pdf 的创建和修改时间是采用元数据方式保存在 pdf 文件内部的,可以用元数据编辑器修改,自己手改或写段 vfp 代码来改也不难
#9
easyppt
昨天 08:15
谢谢老师解答,原来是 元数据 存储文档的额外信息的。
另外要有一个问题:就是文件固有的 创建时间、修改时间、最后访问时间 这3个时间通过文件右键属性就能看到,这个是怎么存储在文件中的,通过hex查看器也看不到,但第三方小工具可以修改,所以这3个时间应该也是写在文件头中吧,有固定位置吗,是什么结构存储的。
1