Skip to content

Feature addition - only if your interested just close this issue off if your not. #1

Description

@damobeanrod

G'day,
Love your work.
Not sure how to contribute new to GitHub - yes I'll google it late haha

I have expanded on your nice work.
it uses sdelete to zero the blocks
then defrags
then compacts.

In my case runaway print cache folder I found your script useful on a 6GB UPD as an example
I removed a 4GB folder compact alone was 100MB saved
sdelete gave me about 400MB
sdelete plus defrag gave me about 4GB back ....

Below is what I ended up with.

$VHDXPaths = @(
'D:\CMVTBDealerPRO'
)

$VHDXExclusions = @(
'UVHD-template.vhdx'
)

Foreach ($Path in $VHDXPaths){
$AllUPDs = Get-ChildItem $Path -Recurse -Filter *.vhdx | Where-Object {$VHDXExclusions -NotContains $_.name} | Select-Object -ExpandProperty fullname

foreach ($UPD in $AllUPDs){
    New-Item -Name compact.txt -ItemType file -force | OUT-NULL
    ADD-CONTENT -Path compact.txt "select vdisk file= $UPD"
    ADD-CONTENT -Path compact.txt "attach vdisk"
    DISKPART /S compact.TXT
    .\sdelete64.exe -z E:\
    Start-Sleep -s 3
    defrag E:
    New-Item -Name compact.txt -ItemType file -force | OUT-NULL
    ADD-CONTENT -Path compact.txt "select vdisk file= $UPD"
    ADD-CONTENT -Path compact.txt "detach vdisk"
    DISKPART /S compact.TXT
    NEW-ITEM -Name compact.txt -ItemType file -force | OUT-NULL
    ADD-CONTENT -Path compact.txt "select vdisk file= $UPD"
    ADD-CONTENT -Path compact.txt "compact vdisk"
    DISKPART /S compact.TXT
}

}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions