In Windows 10, it is possible to trim a filesystem on an SSD by opening Properties for the drive –> Tools –> Optimize.
Windows offers a way to schedule trim to run on a regular basis. Mine is set to trim every day. And my Windows laptop is powered on all weekdays. But still, every time I check “Optimize Drives” in Windows, Current status says “XX days since last retrim.” So seemingly, the built-in scheduling does not work.
I wanted to be able to do this from a scheduled script so that I could schedule a task myself. Luckily, this is quite easy. The command to retrim a drive from PowerShell is:
Optimize-Volume -DriveLetter C -ReTrim -Verbose
The verbose option makes it print a nice summary report:
Post Defragmentation Report: VERBOSE: Volume Information: VERBOSE: Volume size = 952.28 GB VERBOSE: Cluster size = 4 KB VERBOSE: Used space = 717.05 GB VERBOSE: Free space = 235.22 GB VERBOSE: Retrim: VERBOSE: Backed allocations = 953 VERBOSE: Allocations trimmed = 1849 VERBOSE: Total space trimmed = 237.41 GB