标题: [文本处理] 批处理diskpart能区分不同容量的硬盘吗? [打印本页]
作者: conan2095 时间: 2021-9-18 10:27 标题: 批处理diskpart能区分不同容量的硬盘吗?
请问下,DISKPART 能区分不同容量的硬盘吗?
就是说 我电脑里面有20个盘,其中有10个是4T以上的盘 我要单独选出来 用CLEAN 命令 清除数据。
作者: idwma 时间: 2021-9-18 14:52
- for /f "tokens=2,4 delims= " %%i in ('"(echo list disk)|diskpart|findstr /i "gb""') do (
- if "%%j" gtr "4096" (
- (sel disk %%i&clean)|diskpart
- )
- )
复制代码
作者: 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 - for /f "tokens=2,4 delims= " %%i in ('"(echo list disk)|diskpart|findstr /i "gb""') do (
- if %%j gtr 3726 (
- (echo sel disk %%i
- echo clean)|diskpart
- )
- )
复制代码
作者: conan2095 时间: 2021-9-23 09:30
有没有这样的思路,把list disk 输出到文本文档里面,然后在 文本里面比较大小
然后在用 diskpart /s 1.txt 执行
但是我试了 list disk 输出不到文本
作者: idwma 时间: 2021-9-23 09:34
回复 10# conan2095 - for /f "tokens=2,4 delims= " %%i in ('"(echo list disk)|diskpart|findstr /i "gb""') do (
- if %%j gtr 3726 (
- (echo sel disk %%i
- echo clean)>>1.txt
- )
- )
- echo exit>>1.txt
- diskpart /s 1.txt
复制代码
作者: Batcher 时间: 2021-9-23 09:37
回复 10# conan2095 - echo list disk | diskpart >0.txt
复制代码
执行这个命令之后有啥报错信息吗?
执行的结果没有写入0.txt吗?
以管理员身份打开CMD窗口再执行命令能否成功呢?
作者: newswan 时间: 2021-9-23 10:02
用wmic- wmic DISKDRIVE get size,index
复制代码
作者: newswan 时间: 2021-9-23 10:11
wmic 可以用的话- 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://www.bathome.net/) |
Powered by Discuz! 7.2 |