
[分享]批處理獲取本地磁盤空間保留小數點后邊數值利用群內pcl提供混編VBS生成,去除所有延遲變量,去除for內tokens分割參數[超出數值范圍會出現錯誤數值],可以合并到其他區域
nclick="copycode($('code0'));">復制代碼
- @echo off&chcp 936
- for /f delims= %%i in ('wmic logicaldisk where driveType^=3 get caption^,freespace^,size /value')do if /i not %%i== (
- for /f delims= %%j in (%%i)do (
- for /f delims== %%k in (%%j)do (
- if /i %%k==caption (set #%%j
- )else if /i %%k==freespace (set #%%j
- for /f delims== %%c in ('call echo,%%#%%k%%')do (
- call set #calc#=%%c&&call :calc&&for /f delims== %%d in ('call echo,[盤符:%%#caption%% ][剩余:單位: B %%#calc_result#%% ]')do echo,%%d
- call set #calc#=%%c/1024&&call :calc&&for /f delims== %%d in ('call echo,[盤符:%%#caption%% ][剩余:單位:KB %%#calc_result#%% ]')do echo,%%d
- call set #calc#=%%c/1024/1024&&call :calc&&for /f delims== %%d in ('call echo,[盤符:%%#caption%% ][剩余:單位:MB %%#calc_result#%% ]')do echo,%%d
- call set #calc#=%%c/1024/1024/1024&&call :calc&&for /f delims== %%d in ('call echo,[盤符:%%#caption%% ][剩余:單位:GB %%#calc_result#%% ]')do echo,%%d
- )
- )else if /i %%k==size (set #%%j
- for /f delims== %%c in ('call echo,%%#%%k%%')do (
- call set #calc#=%%c&&call :calc&&for /f delims== %%d in ('call echo,[盤符:%%#caption%% ][容量:單位: B %%#calc_result#%% ]')do echo,%%d
- call set #calc#=%%c/1024&&call :calc&&for /f delims== %%d in ('call echo,[盤符:%%#caption%% ][容量:單位:KB %%#calc_result#%% ]')do echo,%%d
- call set #calc#=%%c/1024/1024&&call :calc&&for /f delims== %%d in ('call echo,[盤符:%%#caption%% ][容量:單位:MB %%#calc_result#%% ]')do echo,%%d
- call set #calc#=%%c/1024/1024/1024&&call :calc&&for /f delims== %%d in ('call echo,[盤符:%%#caption%% ][容量:單位:GB %%#calc_result#%% ]')do echo,%%d
- )
- )
- )
- )
- )
- pause
- goto :eof
- :calc
- for /f delims= %%c in ('mshta.exe vbscript:createobject(scripting.filesystemobject).getstandardstream(1).write(%#calc#%)(close)') do if /i %%~nc== (set #calc_result#=0%%~xc)else (set #calc_result#=%%~nxc)
- goto :eof

