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

通过cmd批处理文件释放磁盘空间,cmd,Cmd,需要一个cmd命令在批处理文件中使用它,以便在删除一些.txt格式的文件夹之后和之前获得C驱动器上的可用磁盘空间,或者需要知道特定文件夹的空间,并将其导出到.txt文件夹中,因为cmd.exe的set/a-数学限制为有符号的32位整数,在计算空4TB驱动器上的可用空间时可能会遇到麻烦。一种解决方法是使用PowerShell进行计算 @Echo off For /f "tokens=2 delims==" %%A in ( 'wmic logicaldisk where "DeviceID=

需要一个cmd命令在批处理文件中使用它,以便在删除一些.txt格式的文件夹之后和之前获得C驱动器上的可用磁盘空间,或者需要知道特定文件夹的空间,并将其导出到.txt文件夹中,因为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

有趣的问题,但它可能更适合超级用户站点:因为它是基于cmd的。