通过cmd批处理文件释放磁盘空间

时间:2017-02-26 16:34:49

标签: cmd

需要一个cmd命令才能在批处理文件中使用它,以便在删除.txt格式的某些文件夹之前和之后获取C驱动器上的可用磁盘空间,或者需要知道特定文件夹的空间并将其导出到.txt文件夹中

1 个答案:

答案 0 :(得分:0)

由于cmd.exe的set /A - 数学仅限于有符号的32位整数,因此在空4TB驱动器上计算可用空间时可能会遇到麻烦。解决方法是使用PowerShell进行计算。

@Echo off

For /f "tokens=2 delims==" %%A in (
  'wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value'
) Do Set FS1=%%A

:: Delete something
Del /F /A /Q /S "%tmp%\*" >Nul 2>&1

For /f "tokens=2 delims==" %%A in (
  'wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value'
) Do Set FS2=%%A

set FS
:: Let PowerShell do the calculating
powershell.exe "\"{0,10} GB freed\" -f [math]::round(($env:FS2-$env:FS1)/(1GB),2)"

示例输出:

FS1=87454994432
FS2=85188575232
     2,11 GB freed