Batch file 如果找到卷D且卷大小大于1tb,请查找该卷。运行DISKPART/S文件名

Batch file 如果找到卷D且卷大小大于1tb,请查找该卷。运行DISKPART/S文件名,batch-file,wmic,Batch File,Wmic,据我所知,我可以使用: WMIC /node:"%computername%" LOGICALDISK GET Name WMIC /node:"%computername%" LOGICALDISK GET size 要获取名称,我可以使用: WMIC /node:"%computername%" LOGICALDISK GET Name WMIC /node:"%computername%" LOGICALDISK GET size 要知道尺寸 我很难使用批处理脚本来完成这项工作。由

据我所知,我可以使用:

WMIC /node:"%computername%" LOGICALDISK GET Name
WMIC /node:"%computername%" LOGICALDISK GET size
要获取名称,我可以使用:

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
)

否则,您就不会说出您遇到的困难。

由于使用批处理比较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
)
否则你就不会告诉别人你遇到的困难。

>nul2>nul(
wmic logicaldisk,其中“caption='d:'和size>109951162776”|查找“Win32_logicaldisk”
) && (
找到回音驱动器
) 
此代码仅执行指示的
wmic
查询(驱动器
d:
且大小大于1TB),并使用
find
命令检查输出,查看是否找到任何驱动器,同时通过将标准输出流和错误流重定向到
nul
设备来隐藏任何消息或错误的输出

如果
wmic
命令的输出包含
Win32_LogicalDisk
,则已找到匹配的驱动器,
find
将清除
0
)错误级别。如果没有匹配的驱动器,
find
将失败并提高
errorlevel
(设置为
1

条件执行运算符
&&
(如果上一个命令未设置
错误级别,则执行下一个命令)用于检查
查找
成功/失败,并确定是否应执行
diskpart

>nul 2>nul(
wmic logicaldisk,其中“caption='d:'和size>109951162776”|查找“Win32_logicaldisk”
) && (
找到回音驱动器
) 
此代码仅执行指示的
wmic
查询(驱动器
d:
且大小大于1TB),并使用
find
命令检查输出,查看是否找到任何驱动器,同时通过将标准输出流和错误流重定向到
nul
设备来隐藏任何消息或错误的输出

如果
wmic
命令的输出包含
Win32_LogicalDisk
,则已找到匹配的驱动器,
find
将清除
0
)错误级别。如果没有匹配的驱动器,
find
将失败并提高
errorlevel
(设置为
1


条件执行操作符
&&
(如果前一个没有设置
errorlevel
,则执行下一个命令)用于检查
find
成功/失败,并确定是否应执行
diskpart

非常相似的答案,解释很好(+1)@LotPings,也许这是最合乎逻辑的方法:让工具在没有额外/不必要代码的情况下尽可能多地工作。这导致了非常相似的解决方案。答案非常相似,有一个很好的解释(+1)@LotPings,也许这是最合乎逻辑的方法:让工具在没有额外/不必要代码的情况下尽可能多地工作。这导致了非常相似的解决方案。