08-11-2010 03:38 PM
Is there a way to transfer the file and folder attributes when zipping them using the Add to ZIP function in LabVIEW? I have a directory with some hidden and some read only files, but it looks like the zip function in LabVIEW ignores these. I can see why they wouldn't have an input for that for cross platform compatibility, but the build should at least take a look at the existing attributes and use those if in the Windows OS.
Is there any other zip utilities written for LabVIEW that could accomplish what I need to do?
I'm using 8.5 right now, but checked it in 2009 with same results.
Thanks!
Solved! Go to Solution.
08-12-2010 01:57 PM
The OpenG zip library preserves the attributes, so perhaps you might want to use that one.
08-12-2010 03:15 PM
06-14-2017 10:14 AM
how to get an attributes of file like: "archived", "hidden", etc. ?
06-15-2017 11:34 AM
Hey 0Forest0,
It looks like your question is a bit different from the original topic of this thread (which is also pretty old). To help ensure your question gains traction, I'd recommend asking it in a new thread that specifically addresses it.
06-16-2017 09:23 AM - edited 06-16-2017 09:24 AM
Basically you must call the Win32 API file GetFileAttributesA()
DWORD WINAPI GetFileAttributes( _In_ LPCTSTR lpFileName );
The return value of this function is a 32-bit unsigned integer that you first need to check to be not equal to 0xFFFFFFFF.
If the value is equal to 0xFFFFFFFF the function failed for example because the path was not valid or you have no access rights to that file or directory.
Otherwise you can go and look at the individual bits of that value which tell you what you want to know:
FILE_ATTRIBUTE_ARCHIVE 32 (0x20) A file or directory that is an archive file or directory. Applications typically use this attribute to mark files for backup or removal . FILE_ATTRIBUTE_COMPRESSED 2048 (0x800) A file or directory that is compressed. For a file, all of the data in the file is compressed. For a directory, compression is the default for newly created files and subdirectories. FILE_ATTRIBUTE_DEVICE 64 (0x40) This value is reserved for system use. FILE_ATTRIBUTE_DIRECTORY 16 (0x10) The handle that identifies a directory. FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000) A file or directory that is encrypted. For a file, all data streams in the file are encrypted. For a directory, encryption is the default for newly created files and subdirectories. FILE_ATTRIBUTE_HIDDEN 2 (0x2) The file or directory is hidden. It is not included in an ordinary directory listing. FILE_ATTRIBUTE_NORMAL 128 (0x80) A file that does not have other attributes set. This attribute is valid only when used alone. FILE_ATTRIBUTE_OFFLINE 4096 (0x1000) The data of a file is not available immediately. This attribute indicates that the file data is physically moved to offline storage. This attribute is used by Remote Storage, which is the hierarchical storage management software. Applications should not arbitrarily change this attribute. FILE_ATTRIBUTE_READONLY 1 (0x1) A file that is read-only. Applications can read the file, but cannot write to it or delete it. This attribute is not honored on directories. For more information, see You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, in Windows Vista or in Windows 7. FILE_ATTRIBUTE_SYSTEM 4 (0x4) A file or directory that the operating system uses a part of, or uses exclusively. FILE_ATTRIBUTE_TEMPORARY 256 (0x100) A file that is being used for temporary storage. File systems avoid writing data back to mass storage if sufficient cache memory is available, because typically, an application deletes a temporary file after the handle is closed. In that scenario, the system can entirely avoid writing the data. Otherwise, the data is written after the handle is closed.