4.12 获取设置文件属性

效果

源码

#include

#include

DWORD ShowFileAttributes(LPSTR szPath);//获取并显示文件属性

DWORD ShowFileTime(LPFILETIME lptime);//转换文件时间并打印

DWORD ShowFileSize(DWORD dwFileSizeHigh, DWORD dwFileSizeLow);//打印文件大小信息

DWORD ShowFileAttrInfo(DWORD dwAttribute);//打印文件属性

DWORD SetFileHiddenAndReadonly(LPSTR szFileName);//将指定文件设置为隐藏和只读

int main(int argc, PCHAR argv[]){

//待设置文件必须存在

if (argc != 3){

printf("请输入参数:\n");

printf("显示第一个参数指定的文件的属性,时间,大小.\n");

printf("将第二个参数的属性设置为隐藏和只读.\n");

return 1;

}

ShowFileAttributes(argv[1]);

SetFileHiddenAndReadonly(argv[2]);

return 0;

}

//将指定文件设置为隐藏和只读

DWORD SetFileHiddenAndReadonly(LPSTR szFileName){

DWORD dwFileAttributes = GetFileAttributes(szFileName);//获取原来文件的属性

//将只读和隐藏属性附加到原来的文件属性上

dwFileAttributes |= FILE_ATTRIBUTE_READONLY;

dwFileAttributes |= FILE_ATTRIBUTE_HIDDEN;

//设置文件属性并判断是否成功

if (SetFileAttributes(szFileName, dwFileAttributes)){

printf("文件 %s 的只读和隐藏属性设置成功\n", szFileName);

} else{

printf("文件 %s 属性设置失败: %d\n", GetLastError());

}

return 0;

}

//打印文件属性

DWORD ShowFileAttrInfo(DWORD dwAttribute){

printf("文件属性: ");

if (dwAttribute & FILE_ATTRIBUTE_ARCHIVE){

printf("ARCHIVE");

}

if (dwAttribute & FILE_ATTRIBUTE_COMPRESSED){

printf("压缩");

}

if (dwAttribute & FILE_ATTRIBUTE_DIRECTORY){

printf("目录");

}

if (dwAttribute & FILE_ATTRIBUTE_ENCRYPTED){

printf("加密");

}

if (dwAttribute & FILE_ATTRIBUTE_HIDDEN){

printf("隐藏");

}

if (dwAttribute & FILE_ATTRIBUTE_NORMAL){

printf("NORMAL");

}

if (dwAttribute & FILE_ATTRIBUTE_OFFLINE){

printf("OFFLINE");

}

if (dwAttribute & FILE_ATTRIBUTE_READONLY){

printf("只读");

}

if (dwAttribute & FILE_ATTRIBUTE_SPARSE_FILE){

printf("SPARSE");

}

if (dwAttribute & FILE_ATTRIBUTE_SYSTEM){

printf("系统文件");

}

if (dwAttribute & FILE_ATTRIBUTE_TEMPORARY){

printf("临时文件");

}

printf("\n");

return 0;

}

//打印文件大小信息

DWORD ShowFileSize(DWORD dwFileSizeHigh, DWORD dwFileSizeLow){

ULONGLONG liFileSize;

liFileSize = dwFileSizeHigh;

liFileSize <<= sizeof(DWORD)* 8;//左移32位/4字节

liFileSize += dwFileSizeLow;//加上低4字节的值

printf("文件大小: %I64u 字节\n", liFileSize);

return 0;

}

//转换文件时间并打印

DWORD ShowFileTime(LPFILETIME lptime){

FILETIME ftLocal;//文件时间结构

SYSTEMTIME st;//系统时间结构

FileTimeToLocalFileTime(lptime, &ftLocal);//调整为系统所在时区时间

FileTimeToSystemTime(&ftLocal, &st);//将文件时间转换为SYSTEMTIME格式便于显示

//显示时间信息字符串

printf("%4d 年 %#02d 月 %#02d 日, %#02d:%#02d:%#02d\n", st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);

return 0;

}

//获取并显示文件属性

DWORD ShowFileAttributes(LPSTR szPath){

WIN32_FILE_ATTRIBUTE_DATA wfad;//文件属性结构

printf("文件: %s\n", szPath);

//获取文件属性

if (!GetFileAttributesEx(szPath, GetFileExInfoStandard, &wfad)){

printf("获取文件属性错误: %d\n", GetLastError());

return 1;

}

printf("创建时间: ");

ShowFileTime(&(wfad.ftCreationTime));

printf("最后访问时间: ");

ShowFileTime(&(wfad.ftCreationTime));

printf("最后修改时间: ");

ShowFileTime(&(wfad.ftCreationTime));

ShowFileSize(wfad.nFileSizeHigh,wfad.nFileSizeLow);//文件大小

ShowFileAttrInfo(wfad.dwFileAttributes);//文件属性

return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,302评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,232评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,337评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,977评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,920评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,194评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,638评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,319评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,455评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,379评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,426评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,106评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,696评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,786评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,996评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,467评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,043评论 2 341

推荐阅读更多精彩内容