标题: [其他] 批处理命令DISKPART如何把C、D盘之外的所有分区删除并创建成一个逻辑分区? [打印本页]
作者: friendtasy 时间: 2012-3-28 21:43 标题: 批处理命令DISKPART如何把C、D盘之外的所有分区删除并创建成一个逻辑分区?
本帖最后由 pcl_test 于 2018-3-24 19:28 编辑
有这样的情况:
C、D盘均被影子锁住,E盘开放,但因为开放,可以随意删除,创建多个逻辑分区,并且重启后无法恢复原始分区状态,因而出现有些E盘没格式化不能使用,有些电脑出现多余的盘符,从而造成管理的困难
现要求如下
自动删除C D后的所有分区,自动合并创建一个逻辑分区,自动格式化为NTFS格式,无需确认,并把分区盘符挂靠为E盘
作者: friendtasy 时间: 2012-3-29 18:00
怎么没人回复啊,看来玩批处理的人少了
作者: find 时间: 2012-3-29 19:16
看不懂你在说什么
你的操作系统现在安装在哪个盘?或者说你要在哪个盘运行diskpart命令?
作者: powerbat 时间: 2012-3-29 21:04
没有人生来就会所有命令的具体用法,大家都是通过学习和研究才能掌握的。
你既然知道有diskpart这个命令,为什么不去研究一下呢?
普通命令还好说,但磁盘操作是一种危险的动作,估计一般人都没有闲置的硬盘去玩diskpart,反倒是楼主自己有这个条件。
作者: friendtasy 时间: 2012-3-30 20:26
可以用虚拟机测试,系统盘统一为第一分区,C盘~~~~·(都是单硬盘)
个人有个猜想,如这种分区统一为三区(1主分区,2逻辑分区),第一分区C盘都为XP系统(都是使用同一全盘GHOSTXP系统做出来的),应该可用管道命令得出当前硬盘的分区数,不过管道命令个人并不熟悉
作者: friendtasy 时间: 2012-3-30 20:31
看不懂你在说什么
你的操作系统现在安装在哪个盘?或者说你要在哪个盘运行diskpart命令?
find 发表于 2012-3-29 19:16
XP系统安装在第一分区,单硬盘,select disk 0即可,无需做多余判断,再简单些,就是想获取DISKPART中的LIST PARTITION最后分区的编号再把它库与某变量
作者: powerbat 时间: 2012-3-30 20:54
虚拟机、管道、select disk 0……原来你什么都知道啊?
很多人都没那么多精力和时间去下载、安装一个虚拟机的,毕竟每个人都有自己的工作。
工作之余来论坛逛逛,顺便回答几个问题,只要在个人能力范围内的,一般都会给予帮助,但能力之外就爱莫能助了。
作者: friendtasy 时间: 2012-3-30 21:05
虚拟机、管道、select disk 0……原来你什么都知道啊?
很多人都没那么多精力和时间去下载、安装一个虚拟机 ...
powerbat 发表于 2012-3-30 20:54
哥只是半桶水而已啊,都是看别人代码然后自己改改再根据自己思路合成的。至于虚拟机,相信对玩电脑到一定程度的电脑用户来说不难玩的。
作者: friendtasy 时间: 2012-3-30 21:07
很怀念以前深度有位很历害的批处理达人,对批处理的理解极其深刻,代码简洁实用。不过现在我也开始喜欢上AU3了,但批处理也有其特色
作者: find 时间: 2012-3-30 22:41
回复 6# friendtasy - @echo off
- >"%temp%\script1.txt" (
- echo select disk=0
- echo list partition
- )
- for /f "tokens=2" %%a in ('diskpart /s "%temp%\script1.txt"') do (
- set n=%%a
- )
- >"%temp%\script2.txt" (
- echo select disk=0
- echo select partition %n%
- echo detail partition
- echo exit
- )
- for /f "tokens=4" %%a in ('diskpart /s "%temp%\script2.txt"') do (
- set last=%%a
- )
- echo,%last%
- pause
复制代码
作者: friendtasy 时间: 2012-3-30 23:02
回复 10# find
貌似没考虑至>会重复添加内容的情况,应该在创建文件前判断有无相同文件,有则先删除
作者: find 时间: 2012-3-30 23:03
回复 11# friendtasy
>会覆盖
>>才是追加
亲自试试再说吧兄弟
作者: friendtasy 时间: 2012-3-30 23:05
回复 10# find
还有,应该要开启setlocal enabledelayedexpansion这个选项,否则FOR /I 的变量在未定义前是库与不到正确的变量的
作者: friendtasy 时间: 2012-3-30 23:07
回复 friendtasy
>会覆盖
>>才是追加
亲自试试再说吧兄弟
find 发表于 2012-3-30 23:03
呵,久了不玩还真不记得了~~
作者: find 时间: 2012-3-30 23:40
回复 13# friendtasy
看来你还还没学会变量延迟扩展
这里根本用不着
作者: friendtasy 时间: 2012-4-1 20:25
嗯,有个问题,如是分区编号为7,删除了7后,就只有编号6分区,于是,该批处理只删除了最后一个分区
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |