导航:首页 > 软件知识 > 如何写格式化程序

如何写格式化程序

发布时间:2022-11-28 15:44:50

⑴ 怎么用VC/MFC写程序格式化优盘

直接调用cmd不就行了?
加参数format X:/fs:ntfs
X代表目标盘符
--------------------------------------------------------------------
汗~ 无语。看这个吧:
typedef struct _DISK_GEOMETRY
{
LARGE_INTEGER Cylinders; // 柱面数
MEDIA_TYPE MediaType; // 介质类型
DWORD TracksPerCylinder; // 每柱面的磁道数
DWORD SectorsPerTrack; // 每磁道的扇区数
DWORD BytesPerSector; // 每扇区的字节数
} DISK_GEOMETRY;

// 打开磁盘
HANDLE OpenDisk(LPCTSTR filename)
{
HANDLE hDisk;

// 打开设备
hDisk = ::CreateFile(filename, // 文件名
GENERIC_READ | GENERIC_WRITE, // 读写方式
FILE_SHARE_READ | FILE_SHARE_WRITE, // 共享方式
NULL, // 默认的安全描述符
OPEN_EXISTING, // 创建方式
0, // 不需设置文件属性
NULL); // 不需参照模板文件

return hDisk;
}

// 获取磁盘参数
BOOL GetDiskGeometry(HANDLE hDisk, PDISK_GEOMETRY lpGeometry)
{
DWORD dwOutBytes;
BOOL bResult;

// 用IOCTL_DISK_GET_DRIVE_GEOMETRY取磁盘参数
bResult = ::DeviceIoControl(hDisk, // 设备句柄
IOCTL_DISK_GET_DRIVE_GEOMETRY, // 取磁盘参数
NULL, 0, // 不需要输入数据
lpGeometry, sizeof(DISK_GEOMETRY), // 输出数据缓冲区
&dwOutBytes, // 输出数据长度
(LPOVERLAPPED)NULL); // 用同步I/O

return bResult;
}

// 从指定磁道开始格式化磁盘
BOOL LowLevelFormatTracks(HANDLE hDisk, PDISK_GEOMETRY lpGeometry, DWORD dwStartCylinder, DWORD dwCylinderNumber)
{
FORMAT_PARAMETERS FormatParameters;
PBAD_TRACK_NUMBER lpBadTrack;
DWORD dwOutBytes;
DWORD dwBufSize;
BOOL bResult;

FormatParameters.MediaType = lpGeometry->MediaType;
FormatParameters.StartCylinderNumber = dwStartCylinder;
FormatParameters.EndCylinderNumber = dwStartCylinder + dwCylinderNumber - 1;
FormatParameters.StartHeadNumber = 0;
FormatParameters.EndHeadNumber = lpGeometry->TracksPerCylinder - 1;

dwBufSize = lpGeometry->TracksPerCylinder * sizeof(BAD_TRACK_NUMBER);

lpBadTrack = (PBAD_TRACK_NUMBER) new BYTE[dwBufSize];

// 用IOCTL_DISK_FORMAT_TRACKS对连续磁道进行低级格式化
bResult = ::DeviceIoControl(hDisk, // 设备句柄
IOCTL_DISK_FORMAT_TRACKS, // 低级格式化
&FormatParameters, sizeof(FormatParameters), // 输入数据缓冲区
lpBadTrack, dwBufSize, // 输出数据缓冲区
&dwOutBytes, // 输出数据长度
(LPOVERLAPPED)NULL); // 用同步I/O

delete lpBadTrack;

return bResult;
}

转载自CSDN,原帖地址:
http://topic.csdn.net/t/20030930/09/2316543.html
也许会对你有帮助的~

⑵ 如何利用C语言编写 优盘插入后就自动格式化的程序

不管处于目的是什么,为了学知识攒经验还是值得考虑的。我不知道该如何实现这个程序。但我有点不成熟的想法供你参考:
1.该程序必须在系统启动后即可运行,windows要在注册表里添加启动项,linux要在/etc/rc.d/rc.local文件中添加启动路径。
2.该程序必须能够正确识别u盘的路径,防止误格式化。
3.该程序必须调用底层的系统函数来对格式化命令进行操作。

⑶ 怎么用c语言编写格式化c,d,e,f盘的程序

不明白楼上的是什么意思,人家问如何格式化,你来个系统的安装!
格式化除了右键的那个选项外还有一个fdisk,要在cmd下运行的。
在开始-->运行
输入cmd,进入命令界面,fdisk
的用法可以查看帮助。
不好意思,我是用linux的,我只是知道这些,其它的我不是很了解,不好意思。

⑷ bios下硬盘怎么格式化

以下是我为你整理的如何在bios下格式化硬盘的 方法 ,供大家参考和学习。

如何在 BIOS 下格式化硬盘或分区?

一、GDISK实例:

如果我告诉你:80GB的硬盘分区加格式化一共只需3分钟,你或许会瞪大眼睛看着我:可能吗?现在我要告诉你:这是完全可以实现的,而且操作非常简单。

首先下载gdisk.exe,这个软件只有270KB,可以独立使用。不要小看它哟,我们快速分区、格式化硬盘全靠它了。找张软盘,制作成启动盘,将gdisk.exe拷到盘上,再建一个批处理文件FD.bat。假设是一块80GB的新硬盘,主分区为5GB,扩展分区依次划为4个逻辑盘:10GB、10GB、20GB、35GB。我们可以做成这样一个批处理文件:

gdisk 1 /cre /pri /sz:5000 /for /q

gdisk 1 /cre /ext

gdisk 1 /cre /log /sz:10000/for /q

gdisk 1 /cre /log /sz:10000 /for /q

gdisk 1 /cre /log /sz:20000/for /q

gdisk 1 /cre /log /for /q

这样一张快速分区格式化磁盘的工具盘就做好了。将新硬盘挂到电脑上(注意哟,一定要挂在主板第一个IDE接口上,因为我们指定的硬盘号为1,否则就需要修改批处理文件),设置好从A盘启动。插入刚刚做好的工具盘,启动,执行批处理文件FD.bat。瞧瞧吧,再也不需要漫长的格式化等待了,不要你烦心,海量硬盘分区、格式化立马搞定。

硬盘容量不同,我们只需修改批处理文件中分区的个数和每个分区容量大小就可以同样轻松搞定。

如果是手头已有的硬盘想重新安排分区、格式化,只需先执行一下下列命令:

gdisk /del /all (删除所有硬盘分区)。

再执行分区格式化批处理命令,同样不需要花多少时间即可重新搞定。不过在动手之前一定要把硬盘上重要的数据备份出来,不然,两三分钟后可就欲哭无泪了。

参数说明:

1——指的是第一块硬盘。如果挂有多块硬盘,就要相应的指明其硬盘号1、2……

/cre——当前工作模式为创建分区

/pri——创建主分区

/sz:5000——创建分区大小为5000MB即5GB。

/for——格式化磁盘

/q——快速格式化磁盘(这是Gdisk.exe的一大优势所在,新分区的硬盘一样可以快速格式化,这可是Windows 9x系列自带的format命令所望尘莫及的哟)。

/ext——创建扩展分区

/log——创建逻辑分区

二、GDisk参数详解

GDisk全称是:GDISK Fixed Disk Partitioning Utility,是Ghost中的一个DOS版软件,该软件主要功能是进行对硬盘分区信息管理处理工作。它具有的功能可要比的FDisk强多

GDisk 具有七个主要的操作。本文会详细介绍每个操作可用的选项。

① 显示

② 创建分区 (/CRE)

③ 删除分区 (/DEL)

④ 激活分区 (/ACT)

⑤ 隐藏分区 (/HIDE)

⑥ 重新初始化主引导记录 (/MBR)

⑦ 磁盘物理擦除 (/DISKWIPE)

运行以下命令可获得综合帮助:

Gdisk /? [回车] 会出如下参数信息:

GDISK disk /CRE {/PRI│/EXT│/LOG} [/SZ:{mbytes│pcent{P│%}}] [/END]

[/FOR [/Q] [/V[:label]]][/-32] [/NTFAT16] [/X] [/I] [/S] [/Y] [/R]

GDISK disk /DEL {/PRI[:nth]│/EXT[:nth]│/LOG:nth│/P:partn-no│/ALL}

[/X] [/I] [/S] [/Y] [/R] {[/QWIPE│/DODWIPE│/CUSTOMWIPE:passes}

GDISK [disk] [/STATUS] [/RAW│/LBA] [/SER] [/X] [/I] [/S] [/Y] [/R]

GDISK disk /[-]ACT /P:partn-no [/X] [/I] [/S] [/Y] [/R]

GDISK disk /[-]HIDE /P:partn-no [/X] [/I] [/S] [/Y] [/R]

GDISK disk /MBR [/WIPE] [/X] [/I] [/S] [/Y] [/R]

GDISK disk /DISKWIPE [/DOD│/CUSTOM:passes] [/X] [/I] [/S] [/Y] [/R]

GDISK /BOOTINI {/ADD│/REMOVE│/DEFAULT} [/D:disk-no] [/P:partn-no]

[/DESC:desc] [/ENTRY:no] [/TIMEOUT:sec] [/INIfile:filename]

[/BSECTfile:filename] [/WINNT [/SYSFOLDER:folder]] [/R]

GDISK [disk] /BATCH[:filename] [switch[switch...]]

GDISK /? [/CRE│/DEL│/STATUS│/[-]ACT│/[-]HIDE│/MBR│/DISKWIPE│/BOOTINI│/BATCH]

运行 gdisk /? 可以获得特定操作的详细帮助信息 /操作转换参数

例如,要获得有关删除分区的详细帮助,需运行gdisk /?/del

每个操作都可以使用下列转换参数:

/X 禁止 gdisk 使用扩展磁盘访问支持。这可能导致 gdisk 不了解磁盘的最大容量。

/I 禁止 gdisk 使用直接 IDE 磁盘访问支持。这可能导致 gdisk 不了解磁盘的最大容量。

/S 禁止 gdisk 使用直接 SCSI 磁盘访问支持。这可能导致 gdisk 不了解磁盘的最大容量。

/Y 取消是否执行操作的提示。 注意,删除分区或 其它 可能造成破坏的操作通常不会生成确认提示。

/SURE 与 /Y 相同

/R 如果操作成功,则使 gdisk 重新启动机器。

在这里有一点要说明的是,我们通常所说的格式化程序(指高级格式化,例如DOS下的Format程序),并没有把DATA区的数据清除,只是重写了FAT表而已,至于分区硬盘,也只是修改了MBR和DBR,绝大部分的DATA区的数据并没有被改变

⑸ 怎么用c语言编写格式化c,d,e,f盘的程序

#include <iostream>
using namespace std;
int main()
{
char format[12]="format ",name[10],ch;re:system("cls");
cout<<"请选择要格式化的盘符(C、D、E、F):"<<endl;
cin>>ch;
switch(ch)
{
case 'f': strcpy(name,"f:");strcat(format,name);
system(format);break;
case 'e': strcpy(name,"E:");strcat(format,name);
system(format);break;
case 'd': strcpy(name,"d:");strcat(format,name);
system(format);break;
case 'c': strcpy(name,"c:");strcat(format,name);
system(format);break;
default:goto re;
}
return 0;
}
不要轻易格式化硬盘哈

⑹ toad如何格式化sql语句

toad中格式化sql语句的操作方法:

1、选择想要选中的语句,单击编辑工具栏上的格式化代码 (Format Code)即可。

⑺ 如何使用vb编写格式化硬盘的程序

SHFormatDrive(ByVal
hWnd
As
Long,
ByVal
Drive
As
Long,
fmtID
As
Long,
Options
As
Long)
As
Long
hWnd:当前窗口句柄
Drive:要格式的分区序号(例:C盘就是2,D盘就是3)
fmtID:设置为SHFMT_ID_DEFAULT
Options:选项:SHFMT_OPT_SYSONLY:快速格式化;SHFMT_OPT_FULL:正常格式化

⑻ sd卡格式化的方法 如何对SD卡正确格式化

1、首先,要说明SD卡读写慢,有很多原因,需要用户根据自己的实际情况而定,不要盲目地进行格式化,因为有时候在电脑中格式化之后,就会产生读取SD卡属性,显示0KB的现象,此时,只有将SD卡插回单反相机中进行格式化操作之后,才能解决问题(重新格式化)。

2、为说明问题的严重性,可以在操作之前,先测试一下默认的SD卡的复制速度。使用Windows+E快捷键,调出资源管理器→可以将桌面上的图片文件夹(文件多容易测试)拖拽到SD卡图标上即可复制了。

3、正常复制了,点击提示框底部的详细信息按钮。

4、刚刚开始,有一个确认文件数和体积的过程,此时的速度为零(属于正常),文件越大、越多,该过程的时段越长(系统需要统计)。

5、稍后,就会有比较稳定的速度显示了(也会随着系统其他的程序运行而快慢)。此时稳定在35字节/秒左右。

6、然后,再右键点击SD卡→属性→查看两个讯息:一个是文件系统(FAT32),另一个是SD卡驱动器的盘符(I盘)。

7、注意:NTFS不太适合SD卡或u盘格式化模式,因为这是一种日志式操作,会影响磁盘使用寿命的。

8、再右键点击SD卡→格式化。

9、打开之后→可以发现分配单元大小默认是32KB→点击右边的下拉箭头▼→选择64KB。

10、确认无误→开始。

11、弹出警告提示(确定没有用的文件)→确定。

12、之后,会有少许的停滞,如果一直这样,那是因为还有程序曾经打开过SD卡中的文件,关闭这些程序就能继续格式化SD卡了。

13、格式化完毕→确定。

⑼ xp系统 求一个定时自动格式化硬盘的程序, 要求 :强格 、 不提示 批处理命令要怎么写

可以啊,使用一条命令就可以了:点击开始-》程序-》附件-》命令提示符:输入at
22:00
format
d:
/q
22:00
是时间。
意思是说22.00
把D盘进行格式化。
/q标识快速的意思。格式化的时候一定要小心。

⑽ 什么叫格式化具体是怎样做

简单的说,格式化就是把一张空白的盘划分成一个个小的区域,并编号,供计算机储存,读取数据。没有这个工作的话,计算机就不知道在哪写,从哪读。
硬盘必须先经过分区才能使用,磁盘经过分区之后,下一个步骤就是要对硬盘进行格式化(FORMAT)的工作,硬盘都必须格式化才能使用。
格式化是在磁盘中建立磁道和扇区,磁道和扇区建立好之后,电脑才可以使用磁盘来储存数据。
在Windows和DOS操作系统下,都有格式化Format的程序,不过,一旦进行格式化硬盘的工作,硬盘中的数据可是会全部不见喔!所以进行这个动作前,先确定磁盘中的数据是否还有需要,如果是的话先另行备份吧。
高级格式化就是清除硬盘上的数据、生成引导区信息、初始化FAT表、标注逻辑坏道等。

低级格式化就是将空白的磁盘划分出柱面和磁道,再将磁道划分为若干个扇区,每个扇区又划分出标识部分ID、间隔区GAP和数据区DATA等。可见,低级格式化是高级格式化之前的一件工作,它只能够在DOS环境来完成。而且低级格式化只能针对一块硬盘而不能支持单独的某一个分区。每块硬盘在出厂时,已由硬盘生产商进行低级格式化,因此通常使用者无需再进行低级格式化操作。

一般重装系统的时候格式化。

阅读全文

与如何写格式化程序相关的资料

热点内容
机关代理什么意思 浏览:261
怎么查出微信收款方信息 浏览:125
芳村茶叶批发市场怎么走 浏览:445
闲鱼披露个人信息有哪些 浏览:238
碳汇交易的是什么 浏览:178
什么技术不需要依赖外国 浏览:890
齐家网财务数据怎么样 浏览:435
电视做广告显示器如何做程序 浏览:202
交易方向结清是什么意思 浏览:78
低附加值钢铁产品有哪些 浏览:273
石家庄市职业技术学院有什么专业 浏览:81
移动硬盘数据线两头叫什么 浏览:463
推荐的产品客户觉得没用怎么办 浏览:670
安全信息都有哪些 浏览:14
技术形态学什么 浏览:273
怎么查代理商真伪 浏览:623
怎么清楚华为手环数据 浏览:245
南康区互联网小程序哪个好 浏览:892
哪里可以看达人的带货数据 浏览:850
电脑未安装程序怎么开机进行分区 浏览:299