Board logo

标题: [文本处理] 批处理diskpart能区分不同容量的硬盘吗? [打印本页]

作者: conan2095    时间: 2021-9-18 10:27     标题: 批处理diskpart能区分不同容量的硬盘吗?

请问下,DISKPART 能区分不同容量的硬盘吗?
就是说 我电脑里面有20个盘,其中有10个是4T以上的盘 我要单独选出来 用CLEAN 命令 清除数据。
作者: idwma    时间: 2021-9-18 14:52

  1. for /f "tokens=2,4 delims= " %%i in ('"(echo list disk)|diskpart|findstr /i "gb""') do (
  2. if "%%j" gtr "4096" (
  3. (sel disk %%i&clean)|diskpart
  4. )
  5. )
复制代码

作者: WHY    时间: 2021-9-18 22:02

if "5" GTR "4096" echo TRUE
作者: Batcher    时间: 2021-9-18 22:14

回复 2# idwma


    加上双引号是字符串比较,不是数值比较。
作者: idwma    时间: 2021-9-18 22:26

尴尬
加了引号只对开头的一个数有较
if "5" GTR "5096" echo TRUE
作者: conan2095    时间: 2021-9-22 17:35

谢谢各位 我研究下
作者: Batcher    时间: 2021-9-22 19:50

回复 5# idwma


    不太确切。应该是以字符串的方式逐位比较。
作者: conan2095    时间: 2021-9-23 09:01

本帖最后由 conan2095 于 2021-9-23 10:01 编辑

回复 2# idwma


    大哥echo (sel disk 0&clean)|diskpart
这条命令执行不了哦 。


(echo sel disk 3&echo clean)|diskpart
这样可以执行
作者: idwma    时间: 2021-9-23 09:23

回复 8# conan2095
  1. for /f "tokens=2,4 delims= " %%i in ('"(echo list disk)|diskpart|findstr /i "gb""') do (
  2. if %%j gtr 3726 (
  3. (echo sel disk %%i
  4. echo clean)|diskpart
  5. )
  6. )
复制代码

作者: conan2095    时间: 2021-9-23 09:30

有没有这样的思路,把list disk 输出到文本文档里面,然后在 文本里面比较大小

然后在用 diskpart /s 1.txt 执行
但是我试了 list disk 输出不到文本
作者: idwma    时间: 2021-9-23 09:34

回复 10# conan2095
  1. for /f "tokens=2,4 delims= " %%i in ('"(echo list disk)|diskpart|findstr /i "gb""') do (
  2. if %%j gtr 3726 (
  3. (echo sel disk %%i
  4. echo clean)>>1.txt
  5. )
  6. )
  7. echo exit>>1.txt
  8. diskpart /s 1.txt
复制代码

作者: Batcher    时间: 2021-9-23 09:37

回复 10# conan2095
  1. echo list disk | diskpart >0.txt
复制代码
执行这个命令之后有啥报错信息吗?
执行的结果没有写入0.txt吗?
以管理员身份打开CMD窗口再执行命令能否成功呢?
作者: newswan    时间: 2021-9-23 10:02

用wmic
  1. wmic DISKDRIVE get size,index
复制代码

作者: newswan    时间: 2021-9-23 10:11

wmic 可以用的话
  1. wmic DISKDRIVE get size,index
复制代码

作者: conan2095    时间: 2021-9-23 10:12

本帖最后由 conan2095 于 2021-9-23 10:24 编辑

回复 12# Batcher


    谢谢大哥 能输出到文本

为啥在命令行里面能输出到文本,在批处理里面输出不了。
作者: conan2095    时间: 2021-9-23 10:38

回复 12# Batcher


    是我的问题。我是放在VHDX 盘里面运行的。在命令行下也是一直提示另一个文件在使用此程序。放到其他本地盘里面运行就正常了。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2