You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			31 lines
		
	
	
		
			726 B
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			31 lines
		
	
	
		
			726 B
		
	
	
	
		
			Python
		
	
import platform
 | 
						|
 | 
						|
 | 
						|
def windows_only(func):
 | 
						|
    if platform.system() != 'Windows':
 | 
						|
        return lambda *args, **kwargs: None
 | 
						|
    return func
 | 
						|
 | 
						|
 | 
						|
@windows_only
 | 
						|
def hide_file(path: str) -> None:
 | 
						|
    """
 | 
						|
    Set the hidden attribute on a file or directory.
 | 
						|
 | 
						|
    From https://stackoverflow.com/questions/19622133/
 | 
						|
 | 
						|
    `path` must be text.
 | 
						|
    """
 | 
						|
    import ctypes
 | 
						|
    import ctypes.wintypes
 | 
						|
 | 
						|
    SetFileAttributes = ctypes.windll.kernel32.SetFileAttributesW
 | 
						|
    SetFileAttributes.argtypes = ctypes.wintypes.LPWSTR, ctypes.wintypes.DWORD
 | 
						|
    SetFileAttributes.restype = ctypes.wintypes.BOOL
 | 
						|
 | 
						|
    FILE_ATTRIBUTE_HIDDEN = 0x02
 | 
						|
 | 
						|
    ret = SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN)
 | 
						|
    if not ret:
 | 
						|
        raise ctypes.WinError()
 |