Compress Folder

Please use the script to get a folder to compress it’s data (files)

import ctypes
import subprocess
import os
class disable_file_system_redirection:
    _disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
    _revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
    def __enter__(self):
        self.old_value = ctypes.c_long()
        self.success = self._disable(ctypes.byref(self.old_value))
    def __exit__(self, type, value, traceback):
        if self.success:
            self._revert(self.old_value)

Path = r'C:\Users\Administrator\Downloads\Programs'
if os.path.isdir(Path):
    Path = os.path.join(Path, '*')
    pObj = subprocess.Popen('compact /C /I {}'.format(Path), shell=True, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
    rTup = pObj.communicate()
    rCod = pObj.returncode
    for i in rTup:
            print i
else:
    print '{} is not valid folder'.format(Path)

Sample Output:

Compress Folder.PNG

How do you compress a folder where the path has spaces in it?

Example:
C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Local Storage

I typically get a response:

Compressing files in C:\Users\Administrator\AppData\Local\Google\Chrome\ 0 files within 1 directories were compressed. 0 total bytes of data are stored in 0 bytes. The compression ratio is 1,0 to 1. C:\WINDOWS\system32\Data\Default: The system cannot find the path specified. C:\WINDOWS\system32\Storage: The system cannot find the file specified.

Try and wrap the file location “c:\path location”