導航:首頁 > 軟體知識 > 如何寫格式化程序

如何寫格式化程序

發布時間: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環境來完成。而且低級格式化只能針對一塊硬碟而不能支持單獨的某一個分區。每塊硬碟在出廠時,已由硬碟生產商進行低級格式化,因此通常使用者無需再進行低級格式化操作。

一般重裝系統的時候格式化。

閱讀全文

與如何寫格式化程序相關的資料

熱點內容
數據集成平台干什麼 瀏覽:58
抖音上怎麼加西瓜小程序 瀏覽:228
本地交易手機注意什麼 瀏覽:925
山羊角市場價多少 瀏覽:284
取暖器有什麼技術含量 瀏覽:795
鄭州水果市場哪個最大 瀏覽:86
為什麼大多數交易者都會虧錢 瀏覽:272
美團技術費怎麼忽高忽低 瀏覽:241
濰坊有哪些做外匯交易的地方 瀏覽:251
能交易的鮮紅血紋怎麼繼承 瀏覽:93
代理手動和自動配置是什麼意思 瀏覽:692
政府程序版本怎麼更新 瀏覽:834
30多程序員干什麼 瀏覽:895
成都農牧批發市場有哪些 瀏覽:517
醫學中文資料庫資源有哪些 瀏覽:186
美樂的產品怎麼樣 瀏覽:149
如何辦理證券交易風險評估 瀏覽:955
會計信息供給是什麼意思 瀏覽:754
電子銀行產品包是什麼意思 瀏覽:888
歐姆龍繼電器代理商怎麼樣 瀏覽:526