标题: [系统相关] 请教批处理diskpart判断盘符和大小 [打印本页]
作者: conan2095 时间: 2023-1-30 23:26 标题: 请教批处理diskpart判断盘符和大小
请教 ,比如说那个磁盘1是F盘,大小是固定的101M,请问用什么命令,可以要同时满足盘符是F,和大小是101M的时候,在执行clean 清除这个磁盘的命令。
已知的是,那个101M的盘 就一个分区,盘符也是固定的。
这个磁盘顺序不一定是1 也有可能是2,或者3
还有一个情况就是 假如说存在一个101M的盘,但是那个盘不是F。这种情况下 也不要清理。
作者: conan2095 时间: 2023-1-31 10:27
本帖最后由 conan2095 于 2023-1-31 10:44 编辑
我根据之前前辈 idwma 教我的方法改了下- @echo off
- for /f "tokens=2,4 delims= " %%i in ('"(echo list disk)|diskpart|findstr /i "mb""') do (
- if %%j equ 101 (
- (echo select volume=f
- echo delete volume )>>1.txt
- )else (echo exit)>>1.txt
- )
- diskpart /s 1.txt
复制代码
我的思路是说 假如 电脑里面 有大小为101M的盘,就写入
select volume=f
delete volume
进1.TXT
如果没有 就直接写入exit到TXT ,或者命令直接退出。
但是 测试的结果是,在没有101M大小盘 他会写入
exit
select volume=f
delete volume
在有101M盘的情况下他会写如
select volume=f
delete volume
exit
虽然也能达到目的,但是总觉得如果有没考虑到的情况下 运行会出错。
作者: terse 时间: 2023-1-31 12:51
- @echo off
- set "f="
- for /f "tokens=4,5" %%a in ('echo list disk ^|diskpart ^|findstr /r /c:"磁盘 *[0-9] "') do (
- if /i "%%a%%b" == "101MB" set f=true
- )
- (if defined f (
- echo select volume=f
- echo delete volume
- ) else echo exit)>1.txt
- pause
复制代码
作者: czjt1234 时间: 2023-1-31 13:13
不就是查询F盘的大小么
作者: conan2095 时间: 2023-1-31 16:22
回复 3# terse
谢谢 我测试下
作者: terse 时间: 2023-1-31 18:31
固定找101M盘的话 这样试试- [code]@echo off
- >1.txt echo exit
- for /f %%a in ('"echo list disk |diskpart|findstr /Irc:"101 *MB ""') do (
- (echo select volume=f&echo delete volume)>1.txt
- )
- rem diskpart /s 1.txt
- pause
复制代码
[/code]
作者: yakeyun 时间: 2023-2-1 23:36
本帖最后由 yakeyun 于 2023-2-2 08:32 编辑
回复 1# conan2095 - @echo off & setlocal enabledelayedexpansion
- Title 硬盘操作中,请稍等...
- cd /d "%~dp0"
-
- for /f "tokens=2" %%a in ('echo list disk ^| diskpart ^|find/i "101" ^| find /i "MB"') do set px=%%a
- for /f "tokens=3" %%a in ('echo list volume ^| diskpart ^|find/i "101" ^| find /i "MB"') do set pf=%%a
- if defined px ( if "%pf%"=="F" (
- echo list disk >scriptname.txt
- echo select disk %px% >>scriptname.txt
- echo clean >>scriptname.txt
- diskpart /s "scriptname.txt"
- ))
-
- if exist scriptname.txt (del scriptname.txt)
-
- exit
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |