无忧启动论坛

标题: 批处理高手指点--xp下如何确定最后的盘符? [打印本页]

作者: guwww    时间: 2006-8-23 21:38
标题: 批处理高手指点--xp下如何确定最后的盘符?
这几天想做一批处理xp下实现查找最后一个硬盘分区盘符,并建立一个文件夹001
如何实现呢,谢谢!
作者: namejm    时间: 2006-8-23 22:41
  以下代码能实现查找最后一个磁盘分区的功能,离查找最后一个硬盘分区的功能已经不远了,但是尚未找到合适的方案,楼主可以借鉴一下:

  1. @echo off
  2. for %%i in (Z Y X W V U T S R Q P O N M L K J I H G F E D C) do (
  3.     if exist %%i:\nul (
  4.         for /f "tokens=3" %%j in ('dir /-c %%i:\') do set freesize=%%j
  5.         set last=%%i
  6.         if not "!freesize!"=="0" goto last_drive
  7.     )
  8. )
  9. goto :eof

  10. :last_drive
  11. echo 最后一个分区是 %last%
  12. md %last%:\001
  13. pause
复制代码

作者: wjgyz740526    时间: 2006-8-24 13:14
这个代码有缺陷的,对于ntfs和fat交错或者有n个主分区的磁盘,它的盘符未必是顺序排列的,所以这个代码没什么用
作者: 安情    时间: 2006-8-24 17:30
如果认为二楼的没有,请楼上的,编一个有用的出来?
作者: guwww    时间: 2006-8-24 18:15
原帖由 namejm 于 2006-8-23 10:41 PM 发表
  以下代码能实现查找最后一个磁盘分区的功能,离查找最后一个硬盘分区的功能已经不远了,但是尚未找到合适的方案,楼主可以借鉴一下:

@echo off
for %%i in (Z Y X W V U T S R Q P O N M L K J I H G F  ...

感谢这位朋友的批处理,在我的电脑可以找到最后的分区并建立文件夹001,但根据楼上wjgyz740526
的说法,盘符如不是顺序排列的,确实无法找到最后的分区!
我的想法是--查找最后一个磁盘分区--不管它是什么格式的,在那里建立文件夹001..
作者: namejm    时间: 2006-8-25 10:47
原帖由 wjgyz740526 于 2006-8-24 01:14 PM 发表
这个代码有缺陷的,对于ntfs和fat交错或者有n个主分区的磁盘,它的盘符未必是顺序排列的,所以这个代码没什么用

  对于NTFS和FAT格式交错及N个主分区的情况,由于没有环境,所以暂时不好测试。至于你所说的:所以这个代码没什么用,我实在无法苟同:难道它在盘符顺序排列的情况下也错了吗?或者是在所有的电脑上根本就没有顺序排列的盘符?话也不能说得那么绝对吧?
作者: wjgyz740526    时间: 2006-8-25 20:33
对不起,我的话说的重了,因为我也曾经为这个问题伤过脑筋,甚至想过用findcd找到光驱然后再确定最后一个分区,但是最后试验却发现对于ntfs和fat交错或者有n个主分区的磁盘,它的盘符不是顺序排列时是无效的,到现在我也没有好的办法。当然对于通常情况下这个代码还是有用的。我的本意并非诋毁别人,只是想找到能切实解决问题的方法。

再次道歉!
作者: lxl1638    时间: 2006-8-26 00:21
最后一个盘符与最后一个物理分区是不同的,楼主要的是哪样?
作者: namejm    时间: 2006-8-26 09:03
Re wjgyz740526 第七楼:

  呵呵,兄也是通情达理之人,我不会耿耿于怀的。当初确实没考虑到NTFS和FAT格式下盘符交错以及存在N个主分区的情况,因为我没这个环境,也不想伤筋动骨创造这样的环境,所以就没有使那段代码适合所有的情况——估计要适合所有的情况,那样的思路也是行不通的。正如lxl1638 在第八楼所指出的那样,不知道楼主是要找到最后一个盘符所代表的磁盘分区,还是最后一个物理分区。
作者: HUNRYBECKY    时间: 2006-8-26 11:48
你可以参考一下dos之家的一键GHOST,他里面的程序有实现确定最后一个盘符的BAT程序.

作者: wjgyz740526    时间: 2006-8-27 12:20
最后一个盘符跟最后一个分区是不同的
作者: tmt2008    时间: 2006-9-8 15:04
以上方法存在一定缺陷。
其实应用硬盘分区一般用户都有写入的权限(NTFS分区有配额管理,无访问权除外),使用最原始的方法:试着建立目录,能成功的一般是硬盘分区。
作者: tmt2008    时间: 2006-9-8 16:30
论坛有同样的讨论




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3