LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Windows File Attributes in ZIP file

Solved!
Go to solution

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!

0 Kudos
Message 1 of 6
(4,072 Views)
Solution
Accepted by topic author klessm1

The OpenG zip library preserves the attributes, so perhaps you might want to use that one.

Message 2 of 6
(4,044 Views)

I'm  blush.gif

 

Forgot to look there.  It works nice.  It is a little slower then NI's version, but does what I want.  Is NI planning on updating their ZIP API's?

 

Thanks!

 

 

0 Kudos
Message 3 of 6
(4,036 Views)

how to get an attributes of file like: "archived", "hidden", etc. ?

0 Kudos
Message 4 of 6
(3,653 Views)

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.

 

0 Kudos
Message 5 of 6
(3,643 Views)

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. 

 

Rolf Kalbermatter
My Blog
0 Kudos
Message 6 of 6
(3,634 Views)