zoukankan      html  css  js  c++  java
  • 【转】WIN32环境下读取、写入、显示物理磁盘和逻辑磁盘任何扇区的信息

    转自:【时空论坛

    diskrw.exe 能够在WIN32环境下读取、写入、显示物理磁盘和逻辑磁盘任何扇区的信息,
    该程序只能在Win32环境下运行,无法运行在纯dos环境,是Win32控制台程序。

    DISKRW [Disk] [SectorStart] [Sectors] [Option] [FileName]
      Disk:
         0-First hard Disk, 1-Second hard Disk, ...
        OR
         A:, B:, C:, D:,  ...
      SectorStart:
         Absolute Sector No. of PhysicalDisk/LogicDisk
      Sectors:
         How many Sectors to Process
      Option:
         /S  Save PhysicalDisk/LogicDisk Sector Info to file
         /R  Restore PhysicalDisk/LogicDisk Sector Info to Disk
         /C  Compare PhysicalDisk/LogicDisk Sector info With FileName
         /L  List PhysicalDisk/LogicDisk Sector info
      FileName:
         File to Save or Read PhysicalDisk/LogicDisk Sector info


    如果处理物理磁盘 disk 的参数选取0(第一硬盘)、1(第二硬盘)、....
    如果处理逻辑磁盘 disk 的参数选取A:、B:、C:、....

    SectorStart参数是处理磁盘的绝对扇区号,应该是大于等于0的整数

    Sectors是处理扇区的数量,也就是从SectorStart为起始位置要处理的扇区数量

    Option参数分为四种:
    /S 参数为保存磁盘扇区信息到文件,文件名由FileName指定,如果不指定文件名的话程序提供默认文件名
    /R 参数为将文件内容写入磁盘指定扇区,文件名由FileName指定,如果不指定文件名的话程序使用默认文件名
    /C 参数为将文件内容与磁盘指定扇区信息进行比较,文件名由FileName指定,如果不指定文件名的话程序使用默认文件名
    /L 参数为将磁盘指定扇区信息显示到屏幕上。


    例子:
    ========对物理磁盘操作========
    保存第一物理硬盘的第0个扇区开始共一个扇区的信息到文件 mbr0.bin (也就是第一硬盘的mbr信息)
    diskrw 0 0 1 /s mbr0.bin

    保存第一物理硬盘的第10扇区开始共20个扇区的信息到文件 10-20.bin
    diskrw 0 10 20 /s 10-20.bin

    将文件bbb.bin的内容写入第一物理磁盘第30扇区开始共10个扇区,要求bbb.bin的大小应该为10个扇区的大小,也就是5120字节
    diskrw 0 30 10 /r bbb.bin

    在屏幕上显示第一硬盘的mbr信息满屏暂停
    diskrw 0 0 1 /L /P

    ========对逻辑磁盘操作=========
    保存C: 第0个扇区开始共一个扇区的信息到文件 bootc.bin (也就是C:的boot扇区)
    diskrw C: 0 1 /s bootc.bin

    保存C:的第10扇区开始共20个扇区的信息到文件 10-20.bin
    diskrw C: 10 20 /s 10-20.bin

    将文件bbb.bin的内容写入c:第30扇区开始共10个扇区,要求bbb.bin的大小应该为10个扇区的大小,也就是5120字节
    diskrw c: 30 10 /r bbb.bin

    在屏幕上显示c:的boot区信息满屏暂停
    diskrw c: 0 1 /L /P

    diskrw.rar (19.06 KB)

    2006.10.10
    1 可支持单块硬盘最大为2048G

    2006.3.24
    1 一项在显示方面bug的修正
    2 修正了在某些型号的硬盘上,一次处理扇区数达到65535(0xffff)时报错的bug

    diskrw 2006.3.6更新
    1 修正了扇区起始位置大于4G时的错误
    2 支持16进制,例如:
      diskrw c: 0xab 0xf /l /p /a

    2005.10.10
    1 使用 /L 参数方面的一些更新,使用大写16进制显示扇区信息
    2 增加显示ASC码的代码 /A 参数
      例子: diskrw 0 0 1 /L /P /A
      注:应该选择代码页为437,否则可能为中文乱码,
            使用命令 mode con cp select=437
    3 一项在显示方面bug的修正

    2007.1.28更新diskrw

    附件

    diskrw.rar (19.06 KB)
    DISKRW070128.rar (11.8 KB)
    DISKRW070128.rar (11.8 KB)
  • 相关阅读:
    php类型转换
    PHP标记
    使用PHP从web访问mysql数据库
    javascript string对象的属性与方法
    linux vim 常用命令
    添加事件监听兼容IE6-8
    js-jQuery对象与dom对象相互转换
    js 数组
    js正则表达式
    选择排序
  • 原文地址:https://www.cnblogs.com/5tao/p/1650700.html
Copyright © 2011-2022 走看看