我正在创建一个脚本,只要磁盘空间达到阈值就会发送邮件。我找到了一个简单的工具来获取磁盘驱动器的空间使用。但我想过滤输出并为驱动器设置一个超过定义阈值的条件。
使用psinfo.exe工具,我可以获得磁盘使用量输出。此外,我想只获取下面输出中的百分号(%)后面的数字,并为超出阈值的可用空间设置一个条件。
Volume Type Format Label Size Free Free C: Fixed NTFS OS 181.62 GB 91.69 GB 50.5% D: Fixed NTFS New Volume 273.90 GB 183.22 GB 66.9%
请你帮我完成脚本。
答案 0 :(得分:0)
如果您的磁盘标签不包含空格或圆点,您可以尝试:
@echo off
set "threshold=50"
for /f "skip=1 tokens=1,11,12 delims=:.%% " %%a in ('psinfo') do (
echo -%%a-%%b-%%c-
if %%b geq %threshold% (
echo disk %%a exceeds the threshold %threshold%
echo free disk space is %%b.%%c%%
echo some other code here
)
)
答案 1 :(得分:0)
@echo off
setlocal EnableDelayedExpansion
set "treshold=50"
for /F "skip=1 delims=" %%a in ('psinfo') do (
set "disk="
for %%b in (%%a) do (
if not defined disk set "disk=%%b"
set "percent=%%b"
)
set /A "num=percent,num=num*10+!percent:~-2,1!"
if !num! gtr %treshold%0 (
echo Disk !disk! exceed %treshold%%%: !percent!
)
)