GetFileAttributes获取文件属性函数的返回值
返回字段
返回值
属性类型
FILE_ATTRIBUTE_READONLY
1
只读
FILE_ATTRIBUTE_HIDDEN
2
隐藏
FILE_ATTRIBUTE_SYSTEM
4
系统
FILE_ATTRIBUTE_DIRECTORY
16
目录
FILE_ATTRIBUTE_ARCHIVE
32
存档
FILE_ATTRIBUTE_DEVICE
64
保留
FILE_ATTRIBUTE_NORMAL
128
正常
FILE_ATTRIBUTE_TEMPORARY
256
临时
FILE_ATTRIBUTE_SPARSE_FILE
512
稀疏文件
FILE_ATTRIBUTE_REPARSE_POINT
1024
超链接或快捷方式
FILE_ATTRIBUTE_COMPRESSED
2048
压缩
FILE_ATTRIBUTE_OFFLINE
4096
脱机
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192
索引
FILE_ATTRIBUTE_ENCRYPTED
16384
加密
FILE_ATTRIBUTE_VIRTUAL
65536
虚拟
橙色标记的属性为Windows系统中文件的公有属性,其中“只读”、“隐藏”、“系统”、“存档”为文件的四种基本属性。compressed,content_indexed,encrypted只存在于NTFS分区中。
文件去掉全部属性后(四种基本属性),将自动标记为normal。同时具有system和hidden属性的文件会在系统中彻底隐形,这也是病毒常用的伎俩。
commpressed和encrypted不能共存。默认情况下文件都有content_indexed属性
2.SetFileAttributes设置文件属性函数
设置文件属性:SetFileAttributes(文件名,属性值)
SetFileAttributes(文件名,FILE_ATTRIBUTE_READONLY);//设定为只读
SetFileAttributes(文件名,FILE_ATTRIBUTE_HIDDEN);//设定为隐藏
SetFileAttributes(文件名,FILE_ATTRIBUTE_SYSTEM);//设定为系统
SetFileAttributes(文件名,FILE_ATTRIBUTE_ARCHIVE);//设定为保存
SetFileAttributes(文件名,FILE_ATTRIBUTE_NORMAL);//设定为一般(取消前四种属性)
设定二种以上的属性:
设定为只读+隐藏
SetFileAttributes(文件名,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN);
设定为只读+隐藏+系统+保存
SetFileAttributes(文件名,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN_
|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_ARCHIVE);
取消所有设定
SetFileAttributes(文件名,FILE_ATTRIBUTE_NORMAL);
-成功返回1-65536 ,错误返回0;
-#include 头文件;
VC
里移动和复制文件,删除文件的方法
文件属性设置的方法
CopyFile
和
MoveFile
,
SetFileAttributes
,
rename
BOOLCopyFile(
LPCTSTR
lpExistingFileName
,
//nameofanexistingfile
LPCTSTR
lpNewFileName
,
//nameofnewfile
BOOL
bFailIfExists
//operationiffileexists
);
注意:
1
、文件的路径名中必须是为
\\
,而不是
\
,
\
是无效的,我已经试过了
2
、
bFailIfExists
的值为
TRUE
时,如果要复制的文件在目标文件夹下已经存
在,则复制失败。值为
FALSE,
则允许覆盖。
BOOLMoveFile(
LPCTSTR
lpExistingFileName
,
//filename
LPCTSTR
lpNewFileName
//newfilename
);
注意:
其复制的文件名和
CopyFile
也是一样的。
DeleteFile
The
DeleteFile
functiondeletesanexistingfile.
BOOLDeleteFile(
LPCTSTR
lpFileName
//filename
);
BOOLSetFileAttributes(
LPCTSTR
lpFileName
,
//filename
DWORD
dwFileAttributes
//attributes
);
注意:
dwFileAttributes
为属性设置,有如下
int
rename(
const
char
*
oldname
,
const
char
*
newname
);
oldname
和
newname
也是一样是文件名(包含路径),
上面三个函数的返回值如果为
0
,则说明操作失败,为非零值说明操作成功。
以上两个函数包含在
windows.h
头文件中。
例子
#include
#include
usingnamespacestd;
voidmain()
{
CopyFile("D:\\DSC00008.JPG","E:\\mv\\1.jpg",false);
MoveFile("D:\\javahe
和
MySQL
实例
.doc","E:\\mv\\2.doc");
SetFileAttributes("E:\\mv\\2.doc",FILE_ATTRIBUTE_HIDDEN);
rename("E:\\mv\\2.doc","E:\\mv\\javahe
和
MySQL
实例
.doc");
cout<
复制成功
";
}
还有
CreateFile
,在
MSDN
里可以查到。要用到的时候再去查询吧