# Migration to Python started #
* PoSH has an extreme slowdown for some systems while it runs an optimization
** pass for .NET on the first PoSH script execution.
** This is reason enough to move to an alternative.
* New additions:
* User Data Transfer script
* Will extract from a WIM or copy from a folder
* Uses wimlib-imagex for images and FastCopy for folders
* Removes undesired items after transfer/extraction
* HWiNFO
* Missing ODD repair registry patch
* Q-Dir
* SW Bundle install script
* ConEmu
* Moving back to ConEmu for better performance.
* Copy-WizardKit
* Now uses FastCopy
* functions.py
* Ported init.ps1 to Python using functions.py (from WinPE) as a base
* Launch.cmd
* Elevating programs/scripts now done using a temp VBScript file
* Can run Python scripts (using either the 32 or 64 bit runtime)
* transferred_keys.cmd
* Expanded searched paths
* Misc
* Lots of variables and files renamed
* Lots of hard-coded paths are now in variables
* Should only be set in scripts in %bin%\Scripts
* Moved a subset of the Diagnostics launchers to a new 'Extras' folder
* The launchers moved are those that are less-often used
* Refactored FindBin code to be more concise
* Renamed "KitDir" "ClientDir" to indicate that it is on the client's system
* Removed GeForce Experience launcher as it now requires an account
* Added link to NVIDIA's driver webpage to download the correct driver
* Removed AMD's Gaming Evolved launcher
* This is usually bundled with the GPU driver anyway
* Switched back to ConEmu
* Variable and script names are now more descriptive
* i.e. checklist -> final_checklist, and HH -> %kit_dir%
* (not happy with %kit_dir%, will probably change again)
34 lines
1 KiB
PowerShell
34 lines
1 KiB
PowerShell
# Wizard Kit: List free space for all drives
|
|
|
|
param([string]$log)
|
|
|
|
cd $(Split-Path $MyInvocation.MyCommand.Path)
|
|
. .\init.ps1
|
|
|
|
foreach ($d in [char]'C'..[char]'Z') {
|
|
$letter = "$([char]$d):"
|
|
if (-not $(test-path "$letter\")) {continue}
|
|
$drive = $(fsutil volume diskfree $letter) -replace '^.*: ',''
|
|
if ($lastexitcode -ne 0) {continue}
|
|
$percent = ($drive[2] / $drive[1]) * 100
|
|
foreach ($x in 0,1,2) {
|
|
$tmp = [int64]$drive[$x]
|
|
if ($tmp -ge 1tb) {
|
|
$tmp /= 1tb
|
|
$tmp = "{0:N2} Tb" -f $tmp
|
|
} elseif ($tmp -ge 1gb) {
|
|
$tmp /= 1gb
|
|
$tmp = "{0:N2} Gb" -f $tmp
|
|
} elseif ($tmp -ge 1mb) {
|
|
$tmp /= 1mb
|
|
$tmp = "{0:N2} Mb" -f $tmp
|
|
} elseif ($tmp -ge 1kb) {
|
|
$tmp /= 1kb
|
|
$tmp = "{0:N2} Kb" -f $tmp
|
|
} else {
|
|
$tmp = "$tmp bytes"
|
|
}
|
|
$drive[$x] = $tmp
|
|
}
|
|
WK-write $(" {0} {1:N0}% Free ({2} / {3})" -f $letter, $percent, $drive[2], $drive[1]) $log
|
|
}
|