Windows 10 Compression

Discussion in 'Windows 10' started by Flipp3r, Apr 21, 2015.

  1. burfadel

    burfadel MDL EXE>MSP/CAB

    Aug 19, 2009
    2,627
    3,856
    90
    Agreed, but I don't know a way around that.

    Not sure on that. Xpress16K is pretty good compression/speed wise. If the spare on the hard drive goes up, with or without controller compression it still shows benefit. I thought the controller compression is pretty minimal (well below that of Xpress4K, working on small data blocks and not the whole file. Also, I believe if it doesn't compress then the data won't be compressed anyway. Remember Xpress16K (and even Xpress4K) is much more efficient and faster than the old NTFS compression format.
     
  2. shot²

    shot² MDL Junior Member

    Feb 20, 2011
    60
    37
    0
    Any source on that? AFAIK the SandForce controller does not rely on contents (and how could it), it just blindly compresses everything.
     
  3. darius510

    darius510 MDL Novice

    Dec 26, 2014
    6
    0
    0
    It would add a significant amount of complexity, but the way I'd envision going about it capturing the raw console output of the compact command and logging it to a file. Then parse it and log all the files with less than 1.2 ratio in a separate "incompressible" section/file, and decompress them on a second pass. Then for future compression passes, any file that matches with the incompressible file list is skipped, and any files that are incompressible in the current run can be concatenated to the incompressible file.
     
  4. ljycslg

    ljycslg MDL Novice

    Apr 10, 2014
    1
    0
    0
    #84 ljycslg, Aug 4, 2015
    Last edited by a moderator: Apr 20, 2017
    You InspireMeImprove script,file folder both are OK
    save to compact.bat
    doubleclick to install
    Code:
    @echo off
    ::set all=/a
    set err=/i
    ::set force=/f
    ::set query=/q
    
    
    if "%1"=="" goto install
    if "%~2"=="" goto end
    
    
    if "%1"=="x4_" set ysb=
    If "%1"=="x8_" set ysb=:xpress8k
    If "%1"=="x16_" set ysb=:xpress16k
    If "%1"=="lz_" set ysb=:lzx
    if "%1"=="jy_" goto jieya_
    if "%1"=="zt_" goto yszt_
    
    
    :yasuo_
    title compress%2
    pushd %2 2>nul && (%windir%\system32\compact /c %all% %err% %force% %query% /s /exe%ysb%) || %windir%\system32\compact /c %all% %err% %force% %query% /exe%ysb% %2
    shift
    if not "%~2"=="" goto yasuo_
    goto end
    
    
    :jieya_
    title uncompress%2
    pushd %2 2>nul && (%windir%\system32\compact /u %all% %err% %query% /s /exe) || %windir%\system32\compact /u %all% %err% %query% /exe %2
    shift
    if not "%~2"=="" goto jieya_
    goto end
    
    
    :yszt_
    pushd %2 2>nul && (%windir%\system32\compact %all% %err% %query% /s) || %windir%\system32\compact %all% %err% %query% %2
    shift
    if not "%~2"=="" goto yszt_
    
    
    :end
    title Windows 10 Compact Command
    echo press any key to exit&pause >nul
    exit
    
    
    :install
    if exist tmp.vbs del tmp.vbs /q 
    >tmp.vbs echo Set WS=WScript.CreateObject("WScript.Shell") 
    >>tmp.vbs echo Set Shortcut=WS.CreateShortCut("%APPDATA%\Microsoft\Windows\SendTo\Compact_uncompress.lnk") 
    >>tmp.vbs echo Shortcut.TargetPath=WS.CurrentDirectory^&"\compact.bat"
    >>tmp.vbs echo Shortcut.Arguments = "jy_"
    >>tmp.vbs echo Shortcut.IconLocation = "shell32.dll, 45" 
    >>tmp.vbs echo Shortcut.WorkingDirectory =  "%~dp0"
    >>tmp.vbs echo Shortcut.Save 
    >>tmp.vbs echo Set Shortcut1=WS.CreateShortCut("%APPDATA%\Microsoft\Windows\SendTo\Compact_View state.lnk") 
    >>tmp.vbs echo Shortcut1.TargetPath=WS.CurrentDirectory^&"\compact.bat"
    >>tmp.vbs echo Shortcut1.Arguments = "zt_"
    >>tmp.vbs echo Shortcut1.IconLocation = "shell32.dll, 22" 
    >>tmp.vbs echo Shortcut1.WorkingDirectory =  "%~dp0"
    >>tmp.vbs echo Shortcut1.Save 
    >>tmp.vbs echo Set Shortcut2=WS.CreateShortCut("%APPDATA%\Microsoft\Windows\SendTo\Compact_Xpress4k.lnk") 
    >>tmp.vbs echo Shortcut2.TargetPath=WS.CurrentDirectory^&"\compact.bat"
    >>tmp.vbs echo Shortcut2.Arguments = "x4_"
    >>tmp.vbs echo Shortcut2.IconLocation = "imageres.dll, 166" 
    >>tmp.vbs echo Shortcut2.WorkingDirectory =  "%~dp0"
    >>tmp.vbs echo Shortcut2.Save 
    >>tmp.vbs echo Set Shortcut3=WS.CreateShortCut("%APPDATA%\Microsoft\Windows\SendTo\Compact_Xpress8k.lnk") 
    >>tmp.vbs echo Shortcut3.TargetPath=WS.CurrentDirectory^&"\compact.bat"
    >>tmp.vbs echo Shortcut3.Arguments = "x8_"
    >>tmp.vbs echo Shortcut3.IconLocation = "imageres.dll, 166" 
    >>tmp.vbs echo Shortcut3.WorkingDirectory =  "%~dp0"
    >>tmp.vbs echo Shortcut3.Save 
    >>tmp.vbs echo Set Shortcut4=WS.CreateShortCut("%APPDATA%\Microsoft\Windows\SendTo\Compact_Xpress16k.lnk") 
    >>tmp.vbs echo Shortcut4.TargetPath=WS.CurrentDirectory^&"\compact.bat"
    >>tmp.vbs echo Shortcut4.Arguments = "x16_"
    >>tmp.vbs echo Shortcut4.IconLocation = "imageres.dll, 166" 
    >>tmp.vbs echo Shortcut4.WorkingDirectory =  "%~dp0"
    >>tmp.vbs echo Shortcut4.Save 
    >>tmp.vbs echo Set Shortcut5=WS.CreateShortCut("%APPDATA%\Microsoft\Windows\SendTo\Compact_LZX.lnk") 
    >>tmp.vbs echo Shortcut5.TargetPath=WS.CurrentDirectory^&"\compact.bat"
    >>tmp.vbs echo Shortcut5.Arguments = "lz_"
    >>tmp.vbs echo Shortcut5.IconLocation = "imageres.dll, 166" 
    >>tmp.vbs echo Shortcut5.WorkingDirectory =  "%~dp0"
    >>tmp.vbs echo Shortcut5.Save 
    
    "%SystemRoot%\System32\CScript.exe" //nologo tmp.vbs &&del tmp.vbs
     
  5. halasz

    halasz MDL Member

    Jan 13, 2013
    116
    35
    10
    #85 halasz, Aug 21, 2015
    Last edited by a moderator: Apr 20, 2017
    I have just done a clean install of Windows 10 and installed Word and Office and nothing else (except Treesize free).

    I ran the Compact /compactos:always mentioned earlier which reduced my disk usage from 19.2 to 8.5 GB (I don't have a page file as I'm running off a SD card).

    I then ran these:
    Code:
    cd "c:\Program Files"&compact /s /c /f /exe:xpress16k            - 91.7% compression
    cd "c:\Program Files (x86)"&compact /s /c /f /exe:xpress16k      - 99.8% compression
    cd "c:\MSOCache"&compact /s /c /f /exe:xpress16k                 - 82.2% compression
    cd "c:\ProgramData"&compact /s /c /f /i /exe:xpress16k           - 67% compression
    cd "c:\Windows\Installer"&compact /s /c /f /i /exe:xpress16k     - 70.7% compression (needed the /i switch due to not being authorized)

    So my (fully updated) Windows 10 with Word and Excel is 4.4 GB.

    It seems to work OK (I can't feel a difference in speed) but my questions are, are these changes sensible? Are there some things that I shouldn't have compressed here and I'm being too enthusiastic?

    Secondly why does Treesize Free report a completely different disk utilization( 4.4 GB) to explorer (10GB)? How can I tell which if either is correct?

    Treesize.PNG
    Explorer.PNG
     
  6. burfadel

    burfadel MDL EXE>MSP/CAB

    Aug 19, 2009
    2,627
    3,856
    90
    It's 90 percent done, I just want to change one part of it to make it 'safer'. Xpress(x)k and LZX is an OS based compression methods, whereas NTFS compression is file system based (the driver is loaded at the very beginning before the OS). If you compress files needed to start Windows before the OS implementation is initiated, the files will effectively show as corrupt. The compress:always function is perfectly safe as it does not touch these files. Probably the most 'unfortunate' think of compactos:always is you can't specify that you want xpress16k. xpress16k takes a little longer to compress, but doesn't seem to slow down loading. I guess the benefits increase with increased compression. xpress16k seems to be the fastest, although on slower systems it may be xpress4k.

    In any case, I can get back to it next week. I've been getting over Ross River fever (it's a mosquito transmitted virus) and currently have an assignment I'm finishing off for study. From next week I'll have free time to finish it.
     
  7. necros2

    necros2 MDL Novice

    Dec 19, 2013
    4
    0
    0
    hi, anyone tested lzx compressed files with "low" level utilities like defraggler, should it work fine? any way to make explorer show lzx compressed files? :cool: