如果找到并且卷大小大于 1tb 运行 DISKPART /S 文件名,则查找卷 D
Look for volume D if found and volume size is greater than 1tb run DISKPART /S filename
据我所知,我可以使用:
WMIC /node:"%computername%" LOGICALDISK GET Name
获取名称,我可以使用:
WMIC /node:"%computername%" LOGICALDISK GET size
获取尺寸。
我很难使用批处理脚本来完成这项工作。
因为比较 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
)
不然你不说你遇到的困难
>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
sucess/failure并判断是否diskpart
应该被执行。
据我所知,我可以使用:
WMIC /node:"%computername%" LOGICALDISK GET Name
获取名称,我可以使用:
WMIC /node:"%computername%" LOGICALDISK GET size
获取尺寸。
我很难使用批处理脚本来完成这项工作。
因为比较 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
)
不然你不说你遇到的困难
>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
sucess/failure并判断是否diskpart
应该被执行。