据我了解,我可以使用:
WMIC /node:"%computername%" LOGICALDISK GET Name
获取名称,我可以使用:
WMIC /node:"%computername%" LOGICALDISK GET size
获取尺寸。
我很难使用批处理脚本来完成这项工作。
答案 0 :(得分:3)
由于要比较1TB大小的批量处理会很困难,因此让wmic来做
WMIC /node:"%computername%" LOGICALDISK where "Name='D:' AND Size>1099511627776" Get Name|findstr "^D:" && (
DISKPART /S filename
) || (
Echo Partition is less than 1TB
)
否则,您不会说自己遇到的困难。
答案 1 :(得分:3)
>nul 2>nul (
wmic logicaldisk where "caption='d:' and size > 1099511627776" | find "Win32_LogicalDisk"
) && (
echo Drive found
)
此代码仅执行指示的wmic
查询(驱动器d:
,大小大于1TB),并使用find
命令检查输出,以发现是否找到任何驱动器,同时隐藏通过将标准输出流和错误流重定向到nul
设备来输出任何消息或错误。
如果wmic
命令的输出包含Win32_LogicalDisk
,则找到匹配的驱动器,并且find
将清除0
(设置为errorlevel
) 。如果没有匹配的驱动器,则find
将失败并提高errorlevel
(设置为1
)
条件执行操作符&&
(如果前一个命令未设置errorlevel
,则执行下一个命令)用于检查find
的成功/失败并确定diskpart
应该执行。