获取文件时间属性

  1. WIN32_FILE_ATTRIBUTE_DATA wfad;  
  2.     CString strPath = "SystemTestDlg.h";  
  3.     CString strInfo;  
  4.     ULONGLONG liFileSize;  
  5.   
  6.     if(!GetFileAttributesEx(strPath,GetFileExInfoStandard,&wfad))  
  7.     {  
  8.         AfxMessageBox("Get File Attributes Error");  
  9.         return;  
  10.     }  
  11.   
  12.     //Get file time  
  13.     m_ctrlDisplay.SetSel(-1,-1);  
  14.     strInfo.Format(_T("%s%s\r\n"),"Create File time:",ShowFileTime(&wfad.ftCreationTime));  
  15.     //wfad.ftLastAccessTime  
  16.     //wfad.ftLastWriteTime  
  17.     m_ctrlDisplay.ReplaceSel(strInfo);  
  18.   
  19.     //Get file size  
  20.     liFileSize = wfad.nFileSizeHigh;  
  21.     liFileSize << sizeof(DWORD)*8;  
  22.     liFileSize += wfad.nFileSizeLow;  
  23.     m_ctrlDisplay.SetSel(-1,-1);  
  24.     strInfo.Format(_T("%s%I64u\r\n"),"File Size: ",liFileSize);  
  25.     m_ctrlDisplay.ReplaceSel(strInfo);  
  26.   
  27.     //Get file attributes  
  28.     strInfo = "";  
  29.     if(wfad.dwFileAttributes&FILE_ATTRIBUTE_ARCHIVE)  
  30.     {  
  31.         strInfo += "<Archive>";  
  32.     }  
  33.     if(wfad.dwFileAttributes&FILE_ATTRIBUTE_COMPRESSED)  
  34.     {  
  35.         strInfo += "<Compressed>";  
  36.     }  
  37.     //FILE_ATTRIBUTE_DIRECTORY  
  38.     //FILE_ATTRIBUTE_ENCRYPTED  
  39.     //FILE_ATTRIBUTE_HIDDEN  
  40.     //FILE_ATTRIBUTE_NORMAL  
  41.     //FILE_ATTRIBUTE_OFFLINE  
  42.     //FILE_ATTRIBUTE_READONLY  
  43.     //FILE_ATTRIBUTE_SPARSE_FILE  
  44.     //FILE_ATTRIBUTE_SYSTEM  
  45.     //FILE_ATTRIBUTE_TEMPORARY  
  46.     m_ctrlDisplay.SetSel(-1,-1);  
  47.     m_ctrlDisplay.ReplaceSel(strInfo + "\r\n");  
  48.   
  49.     //Set file attributes  
  50.     //DWORD dwFileAttributes = GetFileAttributes(strPath);  
  51.     DWORD dwFileAttributes = wfad.dwFileAttributes;  
  52.     dwFileAttributes |= FILE_ATTRIBUTE_READONLY;  
  53.     if(SetFileAttributes(strPath,dwFileAttributes))  
  54.     {  
  55.         AfxMessageBox("File Attributes set success!\r\n");  
  56.     }  
  57.   
  58. CString ShowFileTime(LPFILETIME lpTime)  
  59. {  
  60.     //file time struct  
  61.     FILETIME fileTimeLocal;  
  62.     SYSTEMTIME systemTime;  
  63.     CString strFileTime;  
  64.   
  65.     FileTimeToLocalFileTime(lpTime,&fileTimeLocal);  
  66.     FileTimeToSystemTime(&fileTimeLocal,&systemTime);  
  67.     strFileTime.Format(_T("%4d年%2d月%2d日,%#02d:%#02d:%#02d"),systemTime.wYear,systemTime.wMonth,systemTime.wDay,  
  68.         systemTime.wHour,systemTime.wMinute,systemTime.wSecond);  
  69.     return strFileTime;  
  70. }  
Excel VBA 可以使用内置的属性和方法来获取文件属性。以下是其中一种方法: 首先,我们需要创建一个对象来表示文件。可以使用 `FileSystemObject` 对象来实现。在使用之前,需要先引入 `Microsoft Scripting Runtime` 库。 ```vba Sub GetFileAttributes() Dim fs As Object Dim file As Object ' 创建 FileSystemObject 对象 Set fs = CreateObject("Scripting.FileSystemObject") ' 获取文件对象 Set file = fs.GetFile("文件路径") ' 使用 file 对象来获取属性 MsgBox "文件路径:" & file.Path MsgBox "文件名:" & file.Name MsgBox "文件类型:" & file.Type MsgBox "文件大小:" & file.Size MsgBox "创建时间:" & file.DateCreated MsgBox "最后修改时间:" & file.DateLastModified MsgBox "最后访问时间:" & file.DateLastAccessed ' 释放对象 Set file = Nothing Set fs = Nothing End Sub ``` 在上面的代码中,我们首先创建了一个 `FileSystemObject` 的实例,并将其赋值给 `fs` 变量。然后,我们使用 `GetFile` 方法来获取想要查看属性文件,并将其赋值给 `file` 变量。 之后,我们使用 `file` 对象来获取文件属性,例如路径、名称、类型、大小、创建时间、最后修改时间和最后访问时间等。 最后,我们释放已经使用的对象,以释放内存资源。 请注意,上述代码中的 "文件路径" 需要替换为你自己的文件路径。确保要获取文件属性文件路径是正确的,否则会引发错误。 希望以上回答对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值