Board logo

标题: 请教:盘符错乱的情况下,怎样在最后一个分区建立文件夹? [打印本页]

作者: wghxx     时间: 2009-5-29 12:00    标题: 请教:盘符错乱的情况下,怎样在最后一个分区建立文件夹?

xp中怎样用批处理寻找最后一个分区(考虑到盘符错乱的情况),并建立名为WGH的文件夹?谢谢!
补充:我说的最后一个分区是指磁盘管理器中的最后一个分区,其盘符不一定是所有盘符中的最后一个字母.
作者: wghxx     时间: 2009-5-30 06:35
我试过这个,但在盘符错乱的情况下不行.这是按盘符的字母顺序在显示.
@echo off
for /f %%a in ('"wmic logicaldisk where DriveType="3" get DeviceID |find /v "DeviceID""') do set lastdrive=%%a
echo CMD 下最后分区盘符是 %lastdrive%
md "%lastdrive%\我是文件夹"
没人知道吗?
作者: lianjiang     时间: 2009-5-30 06:51
找一个命令行磁盘管理工具,从所得参数确定最后分区对应的盘符。
此类工具很多。一般的一键恢复类工具中都有类似功能。
作者: lianjiang     时间: 2009-5-30 06:53
个头大的有gdisk32,小的有dsptw等。
假如是用于ghost的备份,也可直接使用ghost32获取。
作者: wghxx     时间: 2009-5-30 07:33
我是新手,还是不明白怎么做,不过要说明的是,我是想把它做成一个批处理,或把它加到我做的批处理里面.
是用于ghost的备份,因为在DOS下不知道怎么建,比较麻烦.想在XP下批处理一步到位,
有个办法到是可以,批处理可以做到:先每个盘中建文件夹,GHOST后,再删除,但不是一步到位
作者: newxso     时间: 2009-5-30 08:47    标题: 批处理准确获取硬盘最后分区盘符(不论盘符有否错乱)

以下批处理在盘符错乱的情况下,也能准确获取第1硬盘中最后一个分区的盘符,若想获取第2硬盘最后分区盘符,把 disk=0 改成 disk=1 即可。

@echo off
(echo select disk=0
echo list partition)>script.txt
for /f "tokens=2" %%a in ('diskpart /s script.txt') do set n=%%a

(echo select disk=0
echo select partition %n%
echo detail partition
echo exit)>script.txt
for /f "tokens=4" %%a in ('diskpart /s script.txt') do set last=%%a
del script.txt
set/a partn=%n%-1
echo 第1硬盘分区数为:%partn% ,最后一个分区盘符为:%last%
md %last%:\WGH
pause


(回答楼下:增加一句检测硬盘数即可)

获取最后一块硬盘中的最后分区盘符:
@echo off
for /f "tokens=2" %%i in ('echo list disk^|diskpart') do set hd=%%i

(echo select disk=%hd%
echo list partition)>script.txt
for /f "tokens=2" %%a in ('diskpart /s script.txt') do set n=%%a

(echo select disk=%hd%
echo select partition %n%
echo detail partition
echo exit)>script.txt
for /f "tokens=4" %%a in ('diskpart /s script.txt') do set last=%%a
del script.txt
set/a hdd=%hd%+1
set/a partn=%n%-1
echo 你的机器中存在硬盘数为:%hdd%
echo 最后一块硬盘的分区数为:%partn% ,其中最后一个分区盘符为:%last%
md %last%:\WGH
pause


[ Last edited by newxso on 2009-5-30 at 18:54 ]
作者: wghxx     时间: 2009-5-30 09:19
谢谢! 的确是很好的批处理.
不过,有个小问题说下:若没有第二块硬盘,而我又设为 disk=1时,显示为错误,要是不论有几块硬盘总能准确获取最后一个硬盘中最后一个分区的盘符,又该如何修改呢?
再次感谢!
作者: lianjiang     时间: 2009-5-30 22:18
没仔细看6楼的批处理,从楼主的要求看,应是实现了在最后分区创建目录的要求。
但实际应用上,是存在缺陷的,表现为多硬盘环境下,windods和dos下的硬盘顺序不一定是相同的。

一键恢复,虽然简单,但要完善及通用性强,也还是需要费一些心思的。
这就是为什么一键类工具很多,但好用的并不多。
作者: lianjiang     时间: 2009-5-31 01:14
个人建议,不一定要用最后硬盘的最后分区,而使用启动硬盘的最后分区来处理。
这样可能更合理些。
当然采用什么方案,作者应综合考虑。