
2006年12月5日
??????? 已經(jīng)好久沒來了,最近找工作很失敗,身心俱疲!
??????? 不再有當初的激情,不再有當初的自信,看到別人一個一個拿到offer,我現(xiàn)在還在等待,而且都是不盡人意的公司,心里已經(jīng)萌生了自卑。
posted @
2006-12-05 09:10 小歪 閱讀(159) |
評論 (0) |
編輯 收藏

2006年10月17日
匆匆的十一長假過去了,迎來了一連串的瑣碎又重要的事情,
要開始寫畢業(yè)論文了,導師好像有意讓我們3月份畢業(yè),可是現(xiàn)在畢業(yè)論文還沒開筆,有點心急了。
開始公務員報名了,既然要報名就要好好復習,準備考試,對我來說公務員考試很難啊!
開始找工作了,現(xiàn)在招聘的黃金時節(jié)已經(jīng)來臨,看到別人都結(jié)束實習,趕去招聘,有點心慌!
每天要上班,好像心不在焉,心里的掛念太多,不能專心工作,怕實習不能圓滿成功!
?
posted @
2006-10-17 10:37 小歪 閱讀(150) |
評論 (0) |
編輯 收藏

2006年9月30日
|
???????在我們寫的程序當中,總有一些配置信息需要保存下來,以便完成程序的功能,最簡單的辦法就是將這些信息寫入INI文件中,程序初始化時再讀入.具體應用如下: 一.將信息寫入.INI文件中. 1.所用的WINAPI函數(shù)原型為:? BOOL?WritePrivateProfileString( LPCTSTR?lpAppName, LPCTSTR?lpKeyName, LPCTSTR?lpString, LPCTSTR?lpFileName );? 其中各參數(shù)的意義: LPCTSTR?lpAppName?是INI文件中的一個字段名. LPCTSTR?lpKeyName?是lpAppName下的一個鍵名,通俗講就是變量名. LPCTSTR?lpString?是鍵值,也就是變量的值,不過必須為LPCTSTR型或CString型的.
LPCTSTR?lpFileName?是完整的INI文件名.
2.具體使用方法:設現(xiàn)有一名學生,需把他的姓名和年齡寫入?c:\stud\student.ini?文件中.?
CString?strName,strTemp; int?nAge; strName="張三"; nAge=12; ::WritePrivateProfileString("StudentInfo","Name",strName,"c:\\stud\\student.ini");?
此時c:\stud\student.ini文件中的內(nèi)容如下: [StudentInfo]
Name=張三 3.要將學生的年齡保存下來,只需將整型的值變?yōu)樽址图纯? strTemp.Format("%d",nAge); ::WritePrivateProfileString("StudentInfo","Age",strTemp,"c:\\stud\\student.ini");?
二.將信息從INI文件中讀入程序中的變量. 1.所用的WINAPI函數(shù)原型為: DWORD?GetPrivateProfileString( LPCTSTR?lpAppName,? LPCTSTR?lpKeyName,? LPCTSTR?lpDefault,? LPTSTR?lpReturnedString,? DWORD?nSize,? LPCTSTR?lpFileName? );? 其中各參數(shù)的意義:? 前二個參數(shù)與?WritePrivateProfileString中的意義一樣.
lpDefault?:?如果INI文件中沒有前兩個參數(shù)指定的字段名或鍵名,則將此值賦給變量.? lpReturnedString?:?接收INI文件中的值的CString對象,即目的緩存器. nSize?:?目的緩存器的大小. lpFileName?:?是完整的INI文件名. 2.具體使用方法:現(xiàn)要將上一步中寫入的學生的信息讀入程序中. CString?strStudName; int?nStudAge;? GetPrivateProfileString("StudentInfo","Name","默認姓名",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini");? 執(zhí)行后?strStudName?的值為:"張三",若前兩個參數(shù)有誤,其值為:"默認姓名".
3.讀入整型值要用另一個WINAPI函數(shù):? UINT?GetPrivateProfileInt( LPCTSTR?lpAppName,? LPCTSTR?lpKeyName,? INT?nDefault,? LPCTSTR?lpFileName? );? 這里的參數(shù)意義與上相同.使用方法如下:
nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,"c:\\stud\\student.ini");?
三.循環(huán)寫入多個值,設現(xiàn)有一程序,要將最近使用的幾個文件名保存下來,具體程序如下: 1.寫入: CString?strTemp,strTempA; int?i; int?nCount=6; file://共有6個文件名需要保存
for(i=0;i?{strTemp.Format("%d",i); strTempA=文件名; file://文件名可以從數(shù)組,列表框等處取得. ::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA,"c:\\usefile\\usefile.ini"); } strTemp.Format("%d",nCount); ::WritePrivateProfileString("FileCount","Count",strTemp,"c:\\usefile\\usefile.ini"); file://將文件總數(shù)寫入,以便讀出.?
2.讀出: nCount=::GetPrivateProfileInt("FileCount","Count",0,"c:\\usefile\\usefile.ini"); for(i=0;i?{strTemp.Format("%d",i);
strTemp="FileName"+strTemp; ::GetPrivateProfileString("CurrentIni",strTemp,"default.fil",?strTempA.GetBuffer(MAX_PATH),MAX_PATH,"c:\\usefile\\usefile.ini");
file://使用strTempA中的內(nèi)容. }?
補充四點:
1.INI文件的路徑必須完整,文件名前面的各級目錄必須存在,否則寫入不成功,該函數(shù)返回?FALSE?值.
2.文件名的路徑中必須為?\\?,因為在VC++中,?\\?才表示一個?\?.
3.也可將INI文件放在程序所在目錄,此時?lpFileName?參數(shù)為:?".\\student.ini".
4.從網(wǎng)頁中粘貼源代碼時,最好先粘貼至記事本中,再往VC中粘貼,否則易造成編譯錯誤,開始時我也十分不解,好好的代碼怎么就不對呢?后來才找到這個方法.還有一些代碼中使用了全角字符如:<,\等,也會造成編譯錯誤. |
posted @
2006-09-30 09:14 小歪 閱讀(4598) |
評論 (1) |
編輯 收藏

2006年9月28日
void CCopyFileDlg::OnRegisterOcx(CString StrName)
{
????//ActiveX控件的路徑及文件名?
????LPCTSTR pszOCXName = StrName;?
????//裝載ActiveX控件?
????HINSTANCE hLib = LoadLibrary(pszOCXName);?
????if (hLib < (HINSTANCE)HINSTANCE_ERROR)?
????{?
????????MessageBox("不能載入OCX文件!","結(jié)果",MB_OK);?
????????return;?
????}?
????//獲取注冊函數(shù)DllRegisterServer地址?
????FARPROC lpOCXEntryPoint;?
????lpOCXEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer")); //改成DllRegisterServer可以卸載
????//調(diào)用注冊函數(shù)DllRegisterServer?
????if(lpOCXEntryPoint!=NULL)?
????{?
????????if(FAILED((*lpOCXEntryPoint)()))?
????????{?
????????????MessageBox("調(diào)用DllRegisterServer失敗!","結(jié)果",MB_OK);?
????????????FreeLibrary(hLib);?
????????????return;?
????????}?
????????else
????????{
???????????????MessageBox("注冊成功","結(jié)果",MB_OK);?
?????}
???
?}
?else?
?????MessageBox("調(diào)用DllRegisterServer失敗!","結(jié)果",MB_OK);
}
posted @
2006-09-28 16:45 小歪 閱讀(1374) |
評論 (0) |
編輯 收藏
CRegKey reg;??
???
? if(reg.Open(HKEY_LOCAL_MACHINE,"System\\CurrentControlSet\\Control\\Session Manager\\Environment\\")==ERROR_SUCCESS)?? //?? 路徑自定??
? {??
??????? TCHAR???? path[MAX_PATH];??
??????? DWORD???? dw = MAX_PATH;
??????? if(ERROR_SUCCESS==reg.QueryValue(path,"path",&dw))??
??????? {???
???????????????MessageBox(path,"找到Path了");???
???????????????CString AltPath = path;?
???????????????CString str;
???????????????//長度
???????????????str.Format("%d",AltPath.GetLength());
???????????????MessageBox(str);
???????????????//顯示字符的位置
???????????????str.Format("%d",AltPath.Find("需要的字符串;",1));
???????????????MessageBox(str);
???????????????//刪除原來的字符串
???????????????AltPath.Delete(AltPath.Find("字符串;",1),13);
???????????????MessageBox(AltPath);
???????????????//添加新路徑
???????????????AltPath.Insert(AltPath.GetLength(),"添加的新字符串;");
???????????????reg.SetValue(HKEY_LOCAL_MACHINE,"System\\CurrentControlSet\\Control\\Session???? Manager\\Environment\\path",AltPath,"");
???????????????reg.SetValue(AltPath,"path");
???????????????reg.QueryValue(path,"path",&dw);
???????????????MessageBox(path);
???????????????reg.Close();
?????????? }??
?
? }?
? else
? {
??MessageBox("lalal");
??? ?//注冊表鍵值不存在??
??MessageBox("Path?? Not?? Found!");
? }?
posted @
2006-09-28 08:51 小歪 閱讀(1329) |
評論 (0) |
編輯 收藏

2006年9月19日
??????? 終于快到十一了!
??? ??? 到了明天,我就實習整整兩個月了。
??????? 在開始的一段時間里,感覺很充實,每天都能學到新的知識,有時晚上做夢都不再是遠在成都的男友,而是我要解決的問題,那種感覺就像我馬上就成為高手了,特別的激動人心。
??????? 可是現(xiàn)在,我在迷茫,不知道自己正在做的是不是有意義,現(xiàn)在真想放假,讓自己好好的考慮一下,或者真是從學校到公司的熱度降溫造成的,應該調(diào)整心態(tài),以后就要天天上班,保持好的心情才可以!
??????? 堅持吧!
posted @
2006-09-19 14:51 小歪 閱讀(186) |
評論 (0) |
編輯 收藏
擴展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批處理文件。
首先批處理文件是一個文本文件,這個文件的每一行都是一條DOS命令(大部分時候就好象我們在DOS提示符下執(zhí)行的命令行一樣),你可以使用DOS下的Edit或者Windows的記事本(notepad)等任何文本文件編輯工具創(chuàng)建和修改批處理文件。
其次,批處理文件是一種簡單的程序,可以通過條件語句(if)和流程控制語句(goto)來控制命令運行的流程,在批處理中也可以使用循環(huán)語句(for)來循環(huán)執(zhí)行一條命令。當然,批處理文件的編程能力與C語言等編程語句比起來是十分有限的,也是十分不規(guī)范的。批處理的程序語句就是一條條的DOS命令(包括內(nèi)部命令和外部命令),而批處理的能力主要取決于你所使用的命令。
第三,每個編寫好的批處理文件都相當于一個DOS的外部命令,你可以把它所在的目錄放到你的DOS搜索路徑(path)中來使得它可以在任意位置運行。一個良好的習慣是在硬盤上建立一個bat或者batch目錄(例如C:\BATCH),然后將所有你編寫的批處理文件放到該目錄中,這樣只要在path中設置上c:\batch,你就可以在任意位置運行所有你編寫的批處理程序。
第四,在DOS和Win9x/Me系統(tǒng)下,C:盤根目錄下的AUTOEXEC.BAT批處理文件是自動運行批處理文件,每次系統(tǒng)啟動時會自動運行該文件,你可以將系統(tǒng)每次啟動時都要運行的命令放入該文件中,例如設置搜索路徑,調(diào)入鼠標驅(qū)動和磁盤緩存,設置系統(tǒng)環(huán)境變量等。下面是一個運行于Windows 98下的autoexec.bat的示例:
@ECHO OFF
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINTOOLS;C:\BATCH
LH SMARTDRV.EXE /X
LH DOSKEY.COM /INSERT
LH CTMOUSE.EXE
SET TEMP=D:\TEMP
SET TMP=D:\TEMP
批處理的作用
簡單的說,批處理的作用就是自動的連續(xù)執(zhí)行多條命令。
這里先講一個最簡單的應用:在啟動wps軟件時,每次都必須執(zhí)行(>前面內(nèi)容表示DOS提示符):
C:\>cd wps
C:\WPS>spdos
C:\WPS>py
C:\WPS>wbx
C:\WPS>wps
如果每次用WPS之前都這樣執(zhí)行一遍,您是不是覺得很麻煩呢?
好了,用批處理,就可以實現(xiàn)將這些麻煩的操作簡單化,首先我們編寫一個runwps.bat批處理文件,內(nèi)容如下:
@echo off
c:
cd\wps
spdos
py
wbx
wps
cd\
以后,我們每次進入wps,只需要運行runwps這個批處理文件即可。
常用命令
echo、@、call、pause、rem(小技巧:用::代替rem)是批處理文件最常用的幾個命令,我們就從他們開始學起。
echo 表示顯示此命令后的字符
echo off 表示在此語句后所有運行的命令都不顯示命令行本身
@與echo off相象,但它是加在每個命令行的最前面,表示運行時不顯示這一行的命令行(只能影響當前行)。
call 調(diào)用另一個批處理文件(如果不用call而直接調(diào)用別的批處理文件,那么執(zhí)行完那個批處理文件后將無法返回當前文件并執(zhí)行當前文件的后續(xù)命令)。
pause 運行此句會暫停批處理的執(zhí)行并在屏幕上顯示Press any key to continue...的提示,等待用戶按任意鍵后繼續(xù)
rem 表示此命令后的字符為解釋行(注釋),不執(zhí)行,只是給自己今后參考用的(相當于程序中的注釋)。
例1:用edit編輯a.bat文件,輸入下列內(nèi)容后存盤為c:\a.bat,執(zhí)行該批處理文件后可實現(xiàn):將根目錄中所有文件寫入 a.txt中,啟動UCDOS,進入WPS等功能。
批處理文件的內(nèi)容為: 命令注釋:
@echo off 不顯示后續(xù)命令行及當前命令行
dir c:\*.* >a.txt 將c盤文件列表寫入a.txt
call c:\ucdos\ucdos.bat 調(diào)用ucdos
echo 你好 顯示"你好"
pause 暫停,等待按鍵繼續(xù)
rem 準備運行wps 注釋:準備運行wps
cd ucdos 進入ucdos目錄
wps 運行wps
批處理文件的參數(shù)
批處理文件還可以像C語言的函數(shù)一樣使用參數(shù)(相當于DOS命令的命令行參數(shù)),這需要用到一個參數(shù)表示符“%”。
%[1-9]表示參數(shù),參數(shù)是指在運行批處理文件時在文件名后加的以空格(或者Tab)分隔的字符串。變量可以從%0到%9,%0表示批處理命令本身,其它參數(shù)字符串用%1到%9順序表示。
例2:C:根目錄下有一批處理文件名為f.bat,內(nèi)容為:
@echo off
format %1
如果執(zhí)行C:\>f a:
那么在執(zhí)行f.bat時,%1就表示a:,這樣format %1就相當于format a:,于是上面的命令運行時實際執(zhí)行的是format a:
例3:C:根目錄下一批處理文件名為t.bat,內(nèi)容為:
@echo off
type %1
type %2
那么運行C:\>t a.txt b.txt
%1 : 表示a.txt
%2 : 表示b.txt
于是上面的命令將順序地顯示a.txt和b.txt文件的內(nèi)容。
特殊命令
if goto choice for是批處理文件中比較高級的命令,如果這幾個你用得很熟練,你就是批處理文件的專家啦。
一、if 是條件語句,用來判斷是否符合規(guī)定的條件,從而決定執(zhí)行不同的命令。 有三種格式:
1、if [not] "參數(shù)" == "字符串" 待執(zhí)行的命令
參數(shù)如果等于(not表示不等,下同)指定的字符串,則條件成立,運行命令,否則運行下一句。
例:if "%1"=="a" format a:
2、if [not] exist [路徑\]文件名 待執(zhí)行的命令
如果有指定的文件,則條件成立,運行命令,否則運行下一句。
如: if exist c:\config.sys type c:\config.sys
表示如果存在c:\config.sys文件,則顯示它的內(nèi)容。
3、if errorlevel <數(shù)字> 待執(zhí)行的命令
很多DOS程序在運行結(jié)束后會返回一個數(shù)字值用來表示程序運行的結(jié)果(或者狀態(tài)),通過if errorlevel命令可以判斷程序的返回值,根據(jù)不同的返回值來決定執(zhí)行不同的命令(返回值必須按照從大到小的順序排列)。如果返回值等于指定的數(shù)字,則條件成立,運行命令,否則運行下一句。
如if errorlevel 2 goto x2
二、goto 批處理文件運行到這里將跳到goto所指定的標號(標號即label,標號用:后跟標準字符串來定義)處,goto語句一般與if配合使用,根據(jù)不同的條件來執(zhí)行不同的命令組。
如:
goto end
:end
echo this is the end
標號用“:字符串”來定義,標號所在行不被執(zhí)行。
三、choice 使用此命令可以讓用戶輸入一個字符(用于選擇),從而根據(jù)用戶的選擇返回不同的errorlevel,然后于if errorlevel配合,根據(jù)用戶的選擇運行不同的命令。
注意:choice命令為DOS或者Windows系統(tǒng)提供的外部命令,不同版本的choice命令語法會稍有不同,請用choice /?查看用法。
choice的命令語法(該語法為Windows 2003中choice命令的語法,其它版本的choice的命令語法與此大同小異):
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
描述:
該工具允許用戶從選擇列表選擇一個項目并返回所選項目的索引。
參數(shù)列表:
/C choices 指定要創(chuàng)建的選項列表。默認列表是 "YN"。
/N 在提示符中隱藏選項列表。提示前面的消息得到顯示,
選項依舊處于啟用狀態(tài)。
/CS 允許選擇分大小寫的選項。在默認情況下,這個工具
是不分大小寫的。
/T timeout 做出默認選擇之前,暫停的秒數(shù)。可接受的值是從 0
到 9999。如果指定了 0,就不會有暫停,默認選項
會得到選擇。
/D choice 在 nnnn 秒之后指定默認選項。字符必須在用 /C 選
項指定的一組選擇中; 同時,必須用 /T 指定 nnnn。
/M text 指定提示之前要顯示的消息。如果沒有指定,工具只
顯示提示。
/? 顯示幫助消息。
注意:
ERRORLEVEL 環(huán)境變量被設置為從選擇集選擇的鍵索引。列出的第一個選
擇返回 1,第二個選擇返回 2,等等。如果用戶按的鍵不是有效的選擇,
該工具會發(fā)出警告響聲。如果該工具檢測到錯誤狀態(tài),它會返回 255 的
ERRORLEVEL 值。如果用戶按 Ctrl+Break 或 Ctrl+C 鍵,該工具會返回 0
的 ERRORLEVEL 值。在一個批程序中使用 ERRORLEVEL 參數(shù)時,將參數(shù)降
序排列。
示例:
CHOICE /?
CHOICE /C YNC /M "確認請按 Y,否請按 N,或者取消請按 C。"
CHOICE /T 10 /C ync /CS /D y
CHOICE /C ab /M "選項 1 請選擇 a,選項 2 請選擇 b。"
CHOICE /C ab /N /M "選項 1 請選擇 a,選項 2 請選擇 b。"
如果我運行命令:CHOICE /C YNC /M "確認請按 Y,否請按 N,或者取消請按 C。"
屏幕上會顯示:
確認請按 Y,否請按 N,或者取消請按 C。 [Y,N,C]?
例:test.bat的內(nèi)容如下(注意,用if errorlevel判斷返回值時,要按返回值從高到低排列):
@echo off
choice /C dme /M "defrag,mem,end"
if errorlevel 3 goto end
if errorlevel 2 goto mem
if errotlevel 1 goto defrag
:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye
此批處理運行后,將顯示“defrag,mem,end[D,M,E]?” ,用戶可選擇d m e ,然后if語句根據(jù)用戶的選擇作出判斷,d表示執(zhí)行標號為defrag的程序段,m表示執(zhí)行標號為mem的程序段,e表示執(zhí)行標號為end的程序段,每個程序段最后都以goto end將程序跳到end標號處,然后程序?qū)@示good bye,批處理運行結(jié)束。
四、for 循環(huán)命令,只要條件符合,它將多次執(zhí)行同一命令。
語法:
對一組文件中的每一個文件執(zhí)行某個特定命令。
FOR %%variable IN (set) DO command [command-parameters]
%%variable 指定一個單一字母可替換的參數(shù)。
(set) 指定一個或一組文件。可以使用通配符。
command 指定對每個文件執(zhí)行的命令。
command-parameters 為特定命令指定參數(shù)或命令行開關。
例如一個批處理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
則該命令行會顯示當前目錄下所有以bat和txt為擴展名的文件的內(nèi)容。
批處理示例
1. IF-EXIST
1)
首先用記事本在C:\建立一個test1.bat批處理文件,文件內(nèi)容如下:
@echo off
IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT
IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist
然后運行它:
C:\>TEST1.BAT
如果C:\存在AUTOEXEC.BAT文件,那么它的內(nèi)容就會被顯示出來,如果不存在,批處理就會提示你該文件不存在。
2)
接著再建立一個test2.bat文件,內(nèi)容如下:
@ECHO OFF
IF EXIST \%1 TYPE \%1
IF NOT EXIST \%1 ECHO \%1 does not exist
執(zhí)行:
C:\>TEST2 AUTOEXEC.BAT
該命令運行結(jié)果同上。
說明:
(1) IF EXIST 是用來測試文件是否存在的,格式為
IF EXIST [路徑+文件名] 命令
(2) test2.bat文件中的%1是參數(shù),DOS允許傳遞9個批參數(shù)信息給批處理文件,分別為%1~%9(%0表示test2命令本身) ,這有點象編程中的實參和形參的關系,%1是形參,AUTOEXEC.BAT是實參。
3) 更進一步的,建立一個名為TEST3.BAT的文件,內(nèi)容如下:
@echo off
IF "%1" == "A" ECHO XIAO
IF "%2" == "B" ECHO TIAN
IF "%3" == "C" ECHO XIN
如果運行:
C:\>TEST3 A B C
屏幕上會顯示:
XIAO
TIAN
XIN
如果運行:
C:\>TEST3 A B
屏幕上會顯示
XIAO
TIAN
在這個命令執(zhí)行過程中,DOS會將一個空字符串指定給參數(shù)%3。
2、IF-ERRORLEVEL
建立TEST4.BAT,內(nèi)容如下:
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷貝失敗
IF ERRORLEVEL 0 ECHO 成功拷貝文件
然后執(zhí)行文件:
C:\>TEST4
如果文件拷貝成功,屏幕就會顯示“成功拷貝文件”,否則就會顯示“文件拷貝失敗”。
IF ERRORLEVEL 是用來測試它的上一個DOS命令的返回值的,注意只是上一個命令的返回值,而且返回值必須依照從大到小次序順序判斷。
因此下面的批處理文件是錯誤的:
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 0 ECHO 成功拷貝文件
IF ERRORLEVEL 1 ECHO 未找到拷貝文件
IF ERRORLEVEL 2 ECHO 用戶通過ctrl-c中止拷貝操作
IF ERRORLEVEL 3 ECHO 預置錯誤阻止文件拷貝操作
IF ERRORLEVEL 4 ECHO 拷貝過程中寫盤錯誤
無論拷貝是否成功,后面的:
未找到拷貝文件
用戶通過ctrl-c中止拷貝操作
預置錯誤阻止文件拷貝操作
拷貝過程中寫盤錯誤
都將顯示出來。
以下就是幾個常用命令的返回值及其代表的意義:
backup
0 備份成功
1 未找到備份文件
2 文件共享沖突阻止備份完成
3 用戶用ctrl-c中止備份
4 由于致命的錯誤使備份操作中止
diskcomp
0 盤比較相同
1 盤比較不同
2 用戶通過ctrl-c中止比較操作
3 由于致命的錯誤使比較操作中止
4 預置錯誤中止比較
diskcopy
0 盤拷貝操作成功
1 非致命盤讀/寫錯
2 用戶通過ctrl-c結(jié)束拷貝操作
3 因致命的處理錯誤使盤拷貝中止
4 預置錯誤阻止拷貝操作
format
0 格式化成功
3 用戶通過ctrl-c中止格式化處理
4 因致命的處理錯誤使格式化中止
5 在提示“proceed with format(y/n)?”下用戶鍵入n結(jié)束
xcopy
0 成功拷貝文件
1 未找到拷貝文件
2 用戶通過ctrl-c中止拷貝操作
4 預置錯誤阻止文件拷貝操作
5 拷貝過程中寫盤錯誤
3、IF STRING1 == STRING2
建立TEST5.BAT,文件內(nèi)容如下:
@echo off
IF "%1" == "A" FORMAT A:
執(zhí)行:
C:\>TEST5 A
屏幕上就出現(xiàn)是否將A:盤格式化的內(nèi)容。
注意:為了防止參數(shù)為空的情況,一般會將字符串用雙引號(或者其它符號,注意不能使用保留符號)括起來。
如:if [%1]==[A] 或者 if %1*==A*
5、GOTO
建立TEST6.BAT,文件內(nèi)容如下:
@ECHO OFF
IF EXIST C:\AUTOEXEC.BAT GOTO _COPY
GOTO _DONE
:_COPY
COPY C:\AUTOEXEC.BAT D:\
:_DONE
注意:
(1) 標號前是ASCII字符的冒號":",冒號與標號之間不能有空格。
(2) 標號的命名規(guī)則與文件名的命名規(guī)則相同。
(3) DOS支持最長八位字符的標號,當無法區(qū)別兩個標號時,將跳轉(zhuǎn)至最近的一個標號。
6、FOR
建立C:\TEST7.BAT,文件內(nèi)容如下:
@ECHO OFF
FOR %%C IN (*.BAT *.TXT *.SYS) DO TYPE %%C
運行:
C:>TEST7
執(zhí)行以后,屏幕上會將C:盤根目錄下所有以BAT、TXT、SYS為擴展名的文件內(nèi)容顯示出來(不包括隱藏文件)。
posted @
2006-09-19 14:07 小歪 閱讀(284) |
評論 (0) |
編輯 收藏

2006年9月18日
DOS完整教程(新手學DOS,easy!) 作者:冰河
?DOS使用常識 DOS的概況 DOS(Disk Operating System)是一個使用得十分廣泛的磁盤操作系統(tǒng),就連眼下流行的Windows9x/ME系統(tǒng)都是以它為基礎。
常見的DOS有兩種:IBM公司的PC-DOS和微軟公司的MS-DOS,它們的功能、命令用途格式都相同,我們常用的是MS-DOS。 自從DOS在1981年問世以來,版本就不斷更新,從最初的DOS1.0升級到了最新的DOS8.0(Windows ME系統(tǒng)),純DOS 的最高版本為DOS6.22,這以后的新版本DOS都是由Windows系統(tǒng)所提供的,并不單獨存在。下面的講解所使用的DOS為Windows98 4.10.2222A的DOS7.0系統(tǒng)。
DOS的基礎知識
(1)DOS的組成 DOS分為核心啟動程序和命令程序兩個部分。 DOS的核心啟動程序有Boot系統(tǒng)引導程序、IO.SYS、MSDOS.SYS和COMMAND.COM。它們是構成DOS系統(tǒng)最基礎的幾個部分,有了它們系統(tǒng)就可以啟動。 但光有啟動程序還不行,DOS作為一個字符型的操作系統(tǒng),一般的操作都是通過命令來完成。DOS命令分為內(nèi)部命令和外部命令。內(nèi)部命令是一些常用而所占空間不大的命令程序,如dir、cd等,它們存在于COMMAND.COM文件中,會在系統(tǒng)啟動時加載到內(nèi)存中,以方便調(diào)用。而其它的一些外部命令則以單獨的可執(zhí)行文件存在,在使用時才被調(diào)入內(nèi)存。 (小知識:可執(zhí)行的程序文件有*.COM和*.EXE兩種,一般來講,*.EXE文件為軟件執(zhí)行程序,而*.COM文件則為命令程序)
(2)DOS的啟動 如果你安裝了WIN98,在電腦啟動時按住Ctrl不放,出現(xiàn)啟動選擇菜單,選擇5"Command Prompt Only"即可進入DOS方式。 目前我們常用的操作系統(tǒng)有windows 9x/Me,NT,2000等,都是可視化的界面。在這些系統(tǒng)之前的人們使用的操作系統(tǒng)是DOS系統(tǒng)。DOS系統(tǒng)目前已經(jīng)沒有什么人使用了,但是dos命令卻依然存在于我們使用的windows系統(tǒng)之中。大部分的DOS命令都已經(jīng)在Windows里變成了可視化的界面,但是有一些高級的DOS命令還是要在DOS環(huán)境下來執(zhí)行。所以學習命令行對于我們熟練操作Windows系統(tǒng)是很有必要的。 不同的操作系統(tǒng)要用不同的命令進入命令行界面。 在Win9x/Me的開始菜單中的運行程序中鍵入"command"命令,可進入命令行界面。 在Win2000/NT的開始菜單中的運行程序中鍵?quot;cmd"命令,可進入命令行界面。 下面我用講到的DOS命令都可以在Windows Me操作系統(tǒng)中執(zhí)行。 那么,我們?nèi)绾芜M入命令行窗口? 開始——〉運行——〉鍵入command命令——〉回車 進入了命令行操作界面(DOS窗口),在DOS窗口中只能用鍵盤來操作。 在DOS中通過輸入英文命令加回車鍵這種方式來執(zhí)行程序。
(3)DOS的系統(tǒng)提示符 DOS啟動后,會顯示"C:>"以及一個閃動的光標,這及是DOS的系統(tǒng)提示符,它表示了當前所在的盤符和目錄,我們可以輸入"[盤符] :"來進行轉(zhuǎn)換,如"A:"、"E:"。這里要注意輸入的盤符一定要是存在的。 (小知識:盤符從A到Z,通常A、B盤為軟驅(qū),硬盤的盤符從C開始,而光驅(qū)的盤符為最后一個)
(4)文件及目錄 電腦中的數(shù)據(jù)主要都是以文件形式存儲的,也可以說DOS以文件的形式來管理數(shù)據(jù)。 文件是相關數(shù)據(jù)的集合,若干數(shù)據(jù)聚集在一起組成一個文件。每個文件都有文件名,文件名由主文件名和后綴名兩部分組成,中間有小圓點隔開。DOS6.22及其以前版本最多僅支持8個字符的主文件名和3個字符的后綴名,而從Windows 95的DOS7.0開始就可支持128個字符的主文件名和后綴名。字母、漢字、數(shù)字和一些特殊符號如"!、@、#"都可以作為文件名,但不能有"/、\、|、:、?"等符號。 通常我們可以通過文件的后綴名看出該文件的類型,比如: 后綴名 文件類型 EXE 可執(zhí)行程序文件 COM 可執(zhí)行命令文件 BAT 可執(zhí)行批處理文件 TXT 文本文件 DAT 數(shù)據(jù)文件 BAK 備份文件 為了方便用戶進行操作,DOS還允許使用通配符。所謂通配符,就是"?"與"*"這兩個符號,它們可以用來代替文件名中的某些字符。"?"代表一個合法的字符或空字符,比如"AB?D.EXE"文件就可以示"ABCD.EXE"、"ABDD.EXE"、"ABZD.EXE"等。 而"*"則代表若干個字符,如"*.BAT"就代表當前目錄下所有后綴名為"BAT"的文件。 DOS以目錄樹的形式管理磁盤,這里的目錄就相當于Windows中的文件夾。和文件夾一樣,目錄也是一層一層的,構成一個樹的形式。在一個盤符中最底層的目錄為根目錄,根目錄下的目錄都稱為它的子目錄,根目錄用"\"表示,一個目錄的上一層目錄用".."表示。我們可以通過路徑來查找某一個文件或目錄,路徑就如同地址一樣,可以使用戶方便、準確地進行查找。比如"C:\Windows\Command\deltree.exe"就是一個文件的路徑。 在同一個目錄下,不允許存在相同名稱的文件或目錄。 DOS的內(nèi)部命令 DOS的內(nèi)部命令是進行操作的基礎,完成了對它們的學習你就跨進了DOS系統(tǒng)的大門。
?1)DIR--顯示指定路徑上所有文件或目錄的信息 它的格式為"DIR [盤符:][路徑][文件名] [參數(shù)]",比如"DIR E:\FF.M3U"。輸入后回車則會顯示出相關信息(如圖1)。另外它還有幾個參數(shù): /W:寬屏顯示,一排顯示5個文件名,而不會顯示修改時間,文件大小等信息; /P:分頁顯示,當屏幕無法將信息完成顯示時,可使用其進行分頁顯示; /A:顯示具有特殊屬性的文件,這里的屬性有"H"隱藏、"R"只讀等,我們可以輸入"DIR *.* /AH"來顯示當前目錄下所有具有隱藏屬性的文件; /S:顯示當前目錄及其子目錄下所有的文件,通過這個參數(shù),我們可以進行某個文件或目錄的查找,比如我們可以在"C:>"后輸入"DIR *.DAT /S"來查找C盤中所有后綴名為DAT的文件。 幾種參數(shù)可以同時使用,例如"DIR *.COM /W /P /S"。
2)MD--建立目錄 它的格式為"MD [盤符][路徑]",例如"MD TEMP"。 注意:該命令一次只能建立一個目錄。
3)RD--刪除目錄 格式為"RD [盤符][路徑]"。 注意:該命令只能刪除空目錄,并且不能刪除當前目錄。
4)CD--進入指定目錄 格式為" CD [路徑]",例如"CD HAPPY"。 注意:只能進入當前盤符中的目錄。其中"CD\"為回到根目錄,"CD.."為回到上一層目錄。
5)COPY--拷貝文件 格式為"COPY [源目錄或文件] [目的目錄或文件]",比如"COPY C:\*.COM D:\",我們也可以輸入"COPY C:\Command.COM D:\Command.BAK"來進行文件拷貝并改名。 注意:使用該命令進行文件拷貝時,目的目錄一定要存在。
6)DEL--刪除文件 格式為"DEL [盤符][路徑][文件名] [參數(shù)]",比如"DEL C:\DATA\*.BAK"。它有一個參數(shù):"/P",可以使用戶在刪除多個文件時對每個文件都顯示刪除詢問.
7)REN--改名 格式為"REN [原名] [現(xiàn)名]",7.0以后版本的DOS都支持對文件名和目錄名的修改,而以前的DOS只能修改文件名。
8)TYPE--顯示文本文件 格式為"TYPE [文件名]",能對文本文件進行查看。
?9)discopy--磁盤復制 [功能] 復制出一個和原來磁盤內(nèi)容一模一樣的磁盤 [格式] diskcopy 源驅(qū)動器名 目的動驅(qū)器名 [說明] 它的主要用途就是用來備份。比如我們的電腦在剛買來時,會隨機附帶一些設備驅(qū)動程序磁盤,這些驅(qū)動程序在以后都有可能用到,為防止這些磁盤的損壞,一定要將它們都備份一套,這時,使用diskcopy命令是比較快捷和方便的。
10) deltree--刪除目錄樹 [格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] […]] [說明] 這個命令將整個指定目錄樹全部消滅,而不管它是否是只讀、隱藏與否。使用應特別小心。它是一個危險命令。
11) mem--查看你的計算機內(nèi)存有多少,以及內(nèi)存的使用情況。 [格式] 直接鍵入mem命令
?12) chkdsk--檢查你的磁盤的使用情況。 [格式] chkdsk 磁盤名 [說明] 例如要檢查A盤使用情況,就輸入chkdsk A: ,檢查c盤使用情況,就輸入chkdsk C: ,如果直接輸入chkdsk,就檢查當前磁盤的使用情況。 13) sys--傳遞系統(tǒng)文件命令。將DOS的兩個隱含的系統(tǒng)IO.SYS和MSDOS.SYS傳送到目標磁盤的特定位置上,并將COMMAND.COM文件復制過去。完成后,目標盤成為DOS的啟動盤。 [格式] [C:][path]SYS [C1:][path] d2: [說明] 由于這幾個文件需要復制到特定位置上,所以用COPY命令完成的復制未必能夠啟動機器。能過SYS命令,DOS可以將目標盤已占據(jù)特定位置的文件移動,并將系統(tǒng)文件復制到相應位置上。參數(shù)C1:path用來指明系統(tǒng)文件所在目錄。如不指明,則缺省為當前盤的當前目錄。所以這個命令一般要在源盤的根目錄進行。
14) pass--設定DOS尋找.COM、.EXE、.BAT文件的所在目錄 [格式] path=[[drive:]path[;…]]或path [說明] 只打path沒有參數(shù)時,只顯示環(huán)境變量內(nèi)容。有參數(shù)時,重新設置path變量。在沒有指定path環(huán)境變量時,用戶發(fā)出的命令,DOS首先判斷其是否為內(nèi)部命令,再查找當前目錄中是否有主文件名是該命令的可執(zhí)行文件,如果均不是,則顯示信息“Bad command or filename”。如果發(fā)出了指定路徑的命令,則在指定徑中依次查找,仍找不到則出現(xiàn)上述提示。
15) cls--清除顯示器屏幕上的內(nèi)容,使DOS提示符到屏幕左上角。 [格式] cls 16) time--顯示和設置DOS的系統(tǒng)時間 [格式] time [hh[:mm[:ss[.cc]]] 17) date--顯示和設置DOS的系統(tǒng)日期 [格式] date [MM-DD-YY] 18) ver--顯示正在運行的DOS系統(tǒng)版本號 [格式] ver DOS的外部命令 DOS的外部命令就是一些應用程序,能夠使用戶的操作更加方便和深入。這些外部命令都是以文件的形式存在,Windows系統(tǒng)的DOS外部命令保存在Windwos主目錄下的"Command"目錄中。下面就讓我們來看看常用的一些DOS外部命令。
1? FORMAT(Format.COM)--格式化命令 眾所周知,新買的磁盤都必須經(jīng)過格式化后方能使用,F(xiàn)ORMAT命令可以完成對軟盤和硬盤的格式化操作,格式為"FORMAT [盤符] [參數(shù)]",例如:"FORMAT A: /S"。它有兩個常見的參數(shù): /Q:進行快速格式化; /S:完成格式化,并將系統(tǒng)引導文件拷貝到該磁盤。 注意:該命令會清除目的磁盤上的所有數(shù)據(jù),一定要小心使用。如果進行了普通的格式化,那磁盤上的數(shù)據(jù)還有可能恢復,但如果加上了"/Q",那要恢復就比蹬天還難了。
?2? EDIT(Edit.COM)--編輯命令 其實它就是一個文本編輯軟件,使用它可以在DOS下方便地對文本文件進行編輯,格式為"EDIT [文件名] [參數(shù)]",它的參數(shù)不是特別實用,我在此就不多講。
3? SYS(Sys.COM)--系統(tǒng)引導文件傳輸命令 它能夠?qū)O.SYS等幾個文件傳輸?shù)侥康拇疟P,使其可以引導、啟動。格式為"SYS [盤符]"
4? ATTRIB(Attrib.EXE)--文件屬性設置命令 通過該命令,我們可以對文件進行屬性的查看和更改。格式為"ATTRIB [路徑][文件名] [參數(shù)]",如果不加參數(shù)則為顯示文件屬性。它的參數(shù)有"+?"和"-?"兩種,"?"代表屬性代號,這些代號有:"H"隱藏;"S"系統(tǒng);"R"只讀,"+"表示賦予,"-"表示去除。
5? XCOPY(Xcopy.EXE)--拷貝命令 該命令在"COPY"的基礎上進行了加強,能夠?qū)Χ鄠€子目錄進行拷貝。它的參數(shù)比較多,但是最常用的是"/S",它可以對一個目錄下屬的多個子目錄進行拷貝,另外"/E"可以拷貝空目錄。格式為"XCOPY [源路徑][源目錄/文件名] [目的目錄/文件名] [參數(shù)]"。
6? SCANDISK(Scandisk.EXE)--磁盤掃描程序 這個命令在實際的操作中有很大的用處,它能對磁盤進行掃描并修復,能夠解決大部分的磁盤文件損壞問題。格式為"SCANDISK [盤符:] [參數(shù)]"下面是它的幾個參數(shù): /fragment [驅(qū)動器名:\路徑\文件名]:使用這個參數(shù)可以顯示文件是否包含有間斷的塊,我們可以通過運行磁盤整理程序來解決這個問題; /all:檢查并修復所有的本地驅(qū)動器; /autofix:自動修復錯誤,即在修復時不會出現(xiàn)提示; /checkonly:僅僅檢查磁盤,并不修復錯誤; /custom:根據(jù)Scandisk.ini文件的內(nèi)容來運行Scandisk,Scandisk.ini是一個文本文件,它包含了對Scandisk程序的設置,其中的[custom]塊是在加上"/custom"參數(shù)后才執(zhí)行的,用戶可以根據(jù)自己的不同情況來進行不同的設置; /nosave:在檢查出有丟失簇后直接刪除,并不轉(zhuǎn)化為文件; /nosummary:不顯示檢查概要,完成檢查后將直接退出程序; /surface:在完成初步檢查后進行磁盤表面掃描; /mono:以單色形式運行Scandisk。 我們可以根據(jù)不同的情況來加上不同的參數(shù)。我們可以執(zhí)行"scandisk /all /checkonly /nosave /nosummary"來完成對磁盤的檢查并且自動退出,另外還可以編輯scandisk.ini文件中設置,再運行"scandisk /custom"。如果被損壞的文件比較多,我們可以使用"/autofix"來進行自動修復,不然會忙死你的。
7? CHKDSK(Chkdsk.EXE)--磁盤檢查命令 它會檢查磁盤,并會顯示一個磁盤狀態(tài)報告。格式為"CHKDSK [盤符:] [參數(shù)]",最常用的參數(shù)是"/F",可以對文件錯誤進行修復。
8 ? MOVE(Move.EXE)--文件移動命令 使用它可以對文件進行移動。格式為"MOVE [源文件] [目的路徑]"。同時也可以使用通配符。
9??? DELTREE(Deltree.EXE)--刪除命令 這可是DEL命令的超級加強版,它不僅可以刪除文件,并且會將指定目錄和其下的所有文件和子目錄一并刪掉。使用它,我們可以很方便的對目錄進行徹底的刪除。格式"DELTREE [文件/路徑] [參數(shù)]",參數(shù)有一個"/Y",使用時系統(tǒng)會對每個文件進行詢問,回答"Y"后才刪除。
10?? FDISK(Fdisk.EXE)--分區(qū)命令 我們可以使用它對硬盤進行分區(qū)操作,我在下一部分會進行具體講解。 以上就是常用的一些DOS外部命令,使用它們可以使你的操作更方便,同時也是進行系統(tǒng)修復所必不可少的。請大家好好地掌握每一個命令及其用處。 更多的DOS命令 命令 功能 ctty 改變控制設備 emm386 擴展內(nèi)存管理 fdisk 硬盤分區(qū) lh/loadhigh 將程序裝入高端內(nèi)存 move 移動文件,改目錄名 prompt 設置提示符 smartdrv 設置磁盤加速器 subst 路徑替換 xcopy 拷貝目錄和文件 attrib 設置文件屬性 defrag 磁盤碎片整理 doskey 調(diào)用和建立DOS宏命令 debug 程序調(diào)試命令 fc 文件比較 more 分屏顯示 vol 顯示指定的磁盤卷標號 setver 設置版本 set 設置環(huán)境變量 大家如果感興趣的話,不妨自己在DOS窗口中打打這些命令試試看。 FDISK使用介紹 對硬盤進行分區(qū)、格式化,是每個硬盤都必須經(jīng)過的步驟。在這里我就來具體講解一下怎樣使用FDISK進行硬盤分區(qū)。 FDISK程序是DOS和Windows系統(tǒng)自帶的分區(qū)軟件,雖然其功能比不上有些軟件,但用它分區(qū)是十分安全的。一下就是具體的操作步驟: 1)進入DOS方式。在系統(tǒng)引導、出現(xiàn)"Starting Windows....."的時候按下"F8"鍵,然后再選擇"Command Prompt Only"即可進入DOS方式。 2)鍵入"FDISK"后回車即可進入。 3)這時軟件會問你是否支持FAT32,回答"Y"就可以建立FAT32分區(qū),回答"N"則會使用FAT16,決定以后按回車。 4)出現(xiàn)FDISK的主菜單,要建立分區(qū)請選擇"1"再回車。 5)建立主分區(qū)(Primary Partition),選擇"1"后回車。 6)這時系統(tǒng)會詢問你是否使用最大的可用空間作為主分區(qū),如果回答"Y",那么軟件就會將所有的磁盤空間劃分成一個分區(qū),回答"N"則可以劃分多個分區(qū),對于現(xiàn)在的硬盤來說,一般都比較大,如果劃分成一個分區(qū)就不太好管理,因此可以選擇輸入"N"來分成多個分區(qū)。 7)軟件會提示你輸入主分區(qū)的大小,輸入后回車。 8)完成后按ESC鍵回到主菜單。 9)對于一個硬盤,必須設置一個活動分區(qū)后才可以引導操作系統(tǒng),所以我們需要進入"2"項。 10)這是會提示用戶輸入活動分區(qū)的號碼,由于只有一個分區(qū),就輸入"1"。 完后會在狀態(tài)欄中顯示一個"A",表示此分區(qū)為活動分區(qū)。 11)一個硬盤只能有一個主分區(qū),因此如果現(xiàn)在要劃分剩下的硬盤空間就必須建立擴展分區(qū),回到主菜單后選擇"2"。 12)程序會提示用戶輸入擴展分區(qū)的大小。 13)擴展分區(qū)建立完成后,會顯示主分區(qū)和擴展分區(qū)的相關資料,按ESC鍵。 14)這時會提示沒有邏輯盤的信息,你可以將整個擴展分區(qū)劃分成一個邏輯盤,或者分成幾個邏輯盤。現(xiàn)在可以輸入第一個邏輯盤的大小,然后回車。 15)這時會顯示第一個邏輯盤的相關信息,并且要求你輸入第2個邏輯盤的大小。 16)完成后即可按ESC鍵退回到主菜單。 17)這時在按ESC退出FDISK再重新啟動,就可以對分區(qū)進行格式化了。 如果是對已經(jīng)分好區(qū)的硬盤進行重新分區(qū),那么在主菜單時就必須先進入第三項將分區(qū)刪除后才能進行。 用FDISK進行硬盤分區(qū) 分區(qū)從實質(zhì)上說就是對硬盤的一種格式化。當我們創(chuàng)建分區(qū)時,就已經(jīng)設置好了硬盤的各項物理參數(shù),指定了硬盤主引導記錄(即MasterBootRecord,一般簡稱為MBR)和引導記錄備份的存放位置。而對于文件系統(tǒng)以及其他操作系統(tǒng)管理硬盤所需要的信息則是通過之后的高級格式化,即Format命令來實現(xiàn)。用一個形象的比喻,分區(qū)就好比在一張白紙上畫一個大方框。而格式化好比在方框里打上格子。安裝各種軟件就好比在格子里寫上字。(見圖8)可以看得出來,分區(qū)和格式化就相當于為安裝軟件打基礎,實際上它們?yōu)殡娔X在硬盤上存儲數(shù)據(jù)起到標記定位的作用。進行硬盤分區(qū),我們最常用的軟件是FDISK.com。下面,我們就FDISK的一些功能和使用做一番比較詳盡地介紹: 我們以Win 95為例(Win 98和95大致上基本一致),用啟動盤啟動計算機,在A盤根目錄下輸入"Format";屏幕上出現(xiàn)信息問你是否要啟用FAT32支持,回答"Y"會建立FAT32分區(qū),回答"N"則會使用FAT16,決定以后按Enter鍵。大家要記住一點,早期的WIN95及DOS并不能識別FAT32結(jié)構。如果你想要安裝此類系統(tǒng)的話,還是選擇FAT16為好。但選擇FAT16后,每個分區(qū)不能大于2GB。在這里,我們選擇FAT16。 這時候,屏幕上將會顯示以下4個選項 1. 建立DOS分區(qū)或邏輯分區(qū) 2. 設置活動分區(qū) 3. 刪除分區(qū)或邏輯分區(qū) 4. 顯示分區(qū)信息 5. 如果你安裝有不止一塊硬盤,系統(tǒng)還會出現(xiàn)有第5項(Change current fixed disk drive)。 建立主分區(qū) 這里,缺省的選項是"1"。如果你的硬盤還沒有建立過分區(qū)的話,直接按ENTER鍵即可。然后,在圖11所示對話框中選擇"建立主分區(qū)(Primary Partition)",選擇"1"再按下Enter鍵。這時,系統(tǒng)會詢問你是否使用最大的可用空間作為主分區(qū),缺省的回答是"Y",你只要直接按下Enter鍵即可。當然,當程序問你是否要使用最大的可用空間作為主分區(qū)時,你也可以回答"N"然后按Enter鍵。這時,系統(tǒng)會要求你輸入主分區(qū)的大小,輸入以后按Enter鍵。這時,系統(tǒng)將會自動為主分區(qū)分配邏輯盤符"C"。然后屏幕將提示主分區(qū)已建立并顯示主分區(qū)容量和所占硬盤全部容量的比例,此后按"Esc"返回FDISK主菜單。 建立擴展分區(qū) 在FDISK主菜單中繼續(xù)選擇"1"進入 "建立分區(qū)菜單" 后再選擇"2"建立擴展分區(qū),屏幕將提示當前硬盤可建為擴展分區(qū)的全部容量。此時我們?nèi)绻恍枰獮槠渌僮飨到y(tǒng)(如NT、LINUX等)預留分區(qū),那么建議使用系統(tǒng)給出的全部硬盤空間,此時可以直接回車建立擴展分區(qū),然后屏幕將顯示已經(jīng)建立的擴展分區(qū)容量。 設置邏輯盤數(shù)量和容量 擴展分區(qū)建立后,系統(tǒng)提示用戶還沒有建立邏輯驅(qū)動器,此時按"Esc"鍵開始設置邏輯盤,提示用戶可以建為邏輯盤的全部硬盤空間,用戶可以根據(jù)硬盤容量和自己的需要來設定邏輯盤數(shù)量和各邏輯盤容量。設置完成后,此時屏幕將會顯示用戶所建立的邏輯盤數(shù)量和容量,然后返回FDISK主菜單。 激活硬盤主分區(qū) 在硬盤上同時建有主分區(qū)和擴展分區(qū)時,必須進行主分區(qū)激活,否則以后硬盤無法引導系統(tǒng)。在FDISK主菜單上選擇"2"(Set active partition),此時屏幕將顯示主硬盤上所有分區(qū)供用戶進行選擇,我們的主盤上只有主分區(qū)"1"和擴展分區(qū)"2",當然我們選擇主分區(qū)"1"進行激活,然后退回FDISK主菜單。 一切結(jié)束以后,退出FDISK程序。繼續(xù)按"Esc"鍵退出至屏幕提示用戶必須重新啟動系統(tǒng),必須重新啟動系統(tǒng),然后才能繼續(xù)對所建立的所有邏輯盤進行格式化(Format)操作。 注意事項:在建立分區(qū)時,以下幾點是值得您注意: 1.主分區(qū)和邏輯分區(qū) 主分區(qū)的特性是在任何時刻只能有一個是活動的,當一個主分區(qū)被激活以后,同一硬盤上的其他主分區(qū)就不能再被訪問。所以一個主分區(qū)中的操作系統(tǒng)不能再訪問同一物理硬盤上其他主分區(qū)上的文件。而邏輯分區(qū)并不屬于某個操作系統(tǒng),只要它的文件系統(tǒng)與啟動的操作系統(tǒng)兼容,則該操作系統(tǒng)就能訪問它。 主分區(qū)和邏輯分區(qū)的一個重要區(qū)別是:每個邏輯分區(qū)分配唯一的驅(qū)動器名(盤符),而在同一硬盤上的所有主分區(qū)共享同一個驅(qū)動器名,因為某一時刻只能有一個主分區(qū)是活動的。這就意味著某一時刻只能用共享驅(qū)動器名訪問活動的那個主分區(qū)。系統(tǒng)支持多達24個邏輯分區(qū),這樣,可能有許多人都會有這樣一個錯誤的認識,那就是在對硬盤進行分區(qū)時最好多創(chuàng)建幾個邏輯分區(qū),這樣可以避免出現(xiàn)問題的分區(qū)影響到保存在其他分區(qū)中的數(shù)據(jù)。但是事實往往并非如此,一個被損壞的分區(qū)往往會導致整個硬盤無法正常使用。我們已經(jīng)在前面提到過主分區(qū)和擴展分區(qū)的信息都是被保存在MBR中,如果由于某種原因使MBR受到破壞,硬盤主分區(qū)將無法使用,進而使包含操作系統(tǒng)的啟動盤也無法使用。 是也許有人會認為邏輯分區(qū)的信息并不保存在MBR中,因此邏輯分區(qū)并不會受到任何影響。其實我們忽略了這樣一個事實,那就是雖然邏輯分區(qū)的信息保存在擴展分區(qū)內(nèi),但是擴展分區(qū)的信息卻是被保存在MBR中。這樣,通過相互之間的作用,使邏輯分區(qū)最終也不能免受影響。不過一般情況下,一個分區(qū)受到損壞而其他分區(qū)仍然可以正常工作。例如,如果一個邏輯分區(qū)出現(xiàn)問題,很多時候其他的邏輯分區(qū)以及主分區(qū)和擴展分區(qū)都不會受到任何影響。但是話又說回來,出現(xiàn)問題的分區(qū)往往就是那些使用最頻繁的分區(qū),也就是MBR。 2.驅(qū)動器名的分配 啟動系統(tǒng)時,活動分區(qū)上的操作系統(tǒng)將執(zhí)行一個稱為驅(qū)動器映像的過程,它給主分區(qū)和邏輯分區(qū)分配驅(qū)動器名。所有的主分區(qū)首先被映像,而邏輯分區(qū)用后續(xù)的字母指定。一般來說,主分區(qū)將被定義為C,然后,系統(tǒng)會根據(jù)邏輯分區(qū)的多少依次給出D,E。。。。直到Z。當然,如果你有不兩塊硬盤的話,情況又會發(fā)生一些變化。我們舉例說明,我們將每塊硬盤都分為兩個區(qū),第一個硬盤的第一分區(qū)為主分區(qū)(盤符C),則第二個硬盤的第一分區(qū)為D,第一個硬盤的第二分區(qū)為E,第二個硬盤的第二分區(qū)為F。 3.容量的分配 要分割成幾個分區(qū)以及第一個分區(qū)所占有的容量,取決于使用者自己的想法,有些人喜歡將整個硬盤規(guī)劃單一分區(qū),有些人則認為分割成幾個分區(qū)比較利于管理。例如,分割成兩個分區(qū),一個儲存操作系統(tǒng)文件,另一個儲存應用程序文件;或者一個儲存操作系統(tǒng)和應用程序檔案,另一個儲存?zhèn)€人和備份的資料。至于分區(qū)所使用的文件系統(tǒng),則取決于你要安裝的操作系統(tǒng)。一般來說,主分區(qū)由于經(jīng)常會進行數(shù)據(jù) 的交換,因此容量不宜太小。其他的分區(qū)的大小分配則完全取決于個人喜好了。 分區(qū)建立完了,接下去,我們應該查看一下具體的分區(qū)內(nèi)容,做到心中有數(shù)。在FDISK主界面上,按"4",回車。A區(qū)顯示了當前的分區(qū)情況,B區(qū)顯示了硬盤的總?cè)萘浚珻區(qū)則進一步詢問你是否要顯示詳細的邏輯分區(qū)情況。 我們一部分一部分的來分析。如圖15所示,在分區(qū)信息中: ①第一行是當前的硬盤號,因為只有一個硬盤,所以硬盤號為1。下面幾行是分區(qū)信息。 ②第一欄是當前分區(qū),有1,2兩部分,分別表示基本分區(qū)和擴展分區(qū)。 ③第二欄是狀態(tài)。A表示是活動分區(qū)。 ④第三欄是分區(qū)類型,C為PRI DOS,即基本分區(qū),下面這個是EXT DOS 即擴展分區(qū)。 ⑤第四欄是硬盤卷標,它就好像我們給每個分區(qū)起的名字。 ⑥第五欄是分區(qū)的大小,用多少兆字節(jié)(Mbytes)來表示。 ⑦第六欄是系統(tǒng)文件分配表類型,顯示FAT16。 ⑧最后一欄是基本和擴展分區(qū)占總?cè)萘康谋壤?接下來我們再來看B區(qū)中的硬盤的容量,中表示"硬盤的總?cè)萘繛?126M",即通常我們所說的4.3G的硬盤。 這時候,系統(tǒng)會詢問是否查看擴展DOS分區(qū)的信息,選"Y"則進入下一項。 因為只有一個擴展分區(qū),所以只有D、E盤的信息顯示出來,雖然現(xiàn)在擴展分區(qū)分成了兩個邏輯分區(qū),但我們只能將邏輯分區(qū)叫做D、E盤,而不能稱這個擴展分區(qū)為D、E盤。這里顯示按ESC鍵繼續(xù)。 至此,分區(qū)的建立算是完成了。如果你對現(xiàn)行的分區(qū)不滿意,你可以將分區(qū)刪除后重新來。在建立分區(qū)時,我們遵循的步驟是: 建立基本分區(qū)-> 建立擴展分區(qū)à 分成一個或幾個邏輯分區(qū);而我們在刪除分區(qū)時則需要遵循以下原則: 刪除邏輯分區(qū)-> 刪除擴展分區(qū)-> 刪除基本分區(qū) 分區(qū)的刪除 刪除邏輯分區(qū),進入FDISK主界面。選擇3,回車。選擇了刪除分區(qū)選擇后,又出現(xiàn)下一級子菜單,包括如下內(nèi)容: 1、刪除主DOS分區(qū)。 2、刪除擴展DOS分區(qū)。 3、刪除擴展分區(qū)中的邏輯分區(qū)。 4、刪除非DOS分區(qū)。 關于刪除分區(qū)的順序,我們在上文中已經(jīng)提到過,這里就不再重復了。需要補充的是,如果你的硬盤上有非DOS的分區(qū),則應先將它刪除,再刪除邏輯分區(qū)。 這里,我們直接從刪除邏輯分區(qū)開始。選擇"3"按下回車。下面就開始刪除了!系統(tǒng)會用一個不斷閃動的"WARNING!"提出警告,同時提示你輸入要刪除的邏輯分區(qū)號。輸入E,再回車。 這時候,系統(tǒng)提示輸入E分區(qū)的卷標號,按屏幕上方的顯示輸入卷標。 如果沒有,就直接回車跳過。系統(tǒng)會再提示確認,輸入Y回車,E分區(qū)就被刪除了。 同樣我們刪除D分區(qū),接著系統(tǒng)提示擴展分區(qū)中所有邏輯區(qū)均被刪除。 刪除完了邏輯分區(qū),我們再回到主界面,刪除完邏輯分區(qū)后就要刪除擴展分區(qū)了,這時還要選擇3; 這時進入刪除界面。然后選2,"刪除擴展DOS分區(qū)"。 按提示輸入"Y",回車。擴展分區(qū)就被刪除了。刪除后如圖27所示。 刪除完擴展分區(qū)后就要刪除基本DOS分區(qū)了,按ESC返回。選第1項"刪除基本DOS分區(qū)"。 與其他分區(qū)的操作步驟一樣,還要輸入卷標、輸入"Y"確認后回車,基本分區(qū)就被刪除了。到這里,刪除分區(qū)的工作就完成了。 刪除完成后,我們再次查看分區(qū)的情況,屏幕會顯示當前硬盤還沒有分區(qū). 現(xiàn)在,硬盤又恢復到初始的狀態(tài)下了。如果你對上次的硬盤分區(qū)不滿意,現(xiàn)在又可以重新開始了,不過,還應該多思考思考,成熟了再動手呦. 看了前面的文章,相信大家對DOS的基礎操作以有了一個較深的印象了吧。但光掌握以上的這些內(nèi)容是遠遠不夠的,解決電腦問題,最主要的還是能夠?qū)W到的死知識轉(zhuǎn)化為自己可以熟練使用的兵器。當然,這也不是一朝一夕就可以達到的,同時也要靠經(jīng)驗的積累。下面就請大家隨我一道來看幾個實例,從中找出解決問題的關鍵和主要的思路。 故障事例: 某電腦在使用時突然停電,來電后開啟電腦,但Windows系統(tǒng)無法正常啟動,死機頻繁。 故障分析: 從這個原因,我們可以大致推斷:停電造成電腦非法關機而損傷磁盤文件,從而導致Windows系統(tǒng)受到損壞,無法正常運行。 大致操作: 從解決文件損壞這個角度出發(fā),需要修復損壞的文件,如果損壞嚴重,也可以考慮重裝Windows。 具體操作: 1、進入DOS。由于Windows受損,只有在DOS下進行操作。在系統(tǒng)引導、出現(xiàn)"Starting Windows....."的時候按下"F8"鍵,然后再選擇"Command Prompt Only"即可進入DOS方式。為了使修復速度更快,我們可以運行Windows目錄下的"SMARTDRV.EXE"程序,這是一個加速磁盤讀取速度的緩存程序。 2、運行SCANDISK程序,必要時可以加上"/autofix"參數(shù),這樣在第一次選擇后就可讓程序自動修復。 3、運行CHKDSK程序,查看是否還存在著問題,并可以使用"/F"進行修復。 4、運行Windows,看系統(tǒng)是否恢復正常。如果在啟動時提示注冊表出錯,可以重新進入DOS,在Windows目錄下運行"SCANREG /RESTORE",然后在列表中選擇一個好的注冊表文件就行了。 5、如果文件系統(tǒng)受損嚴重,就需要重新安裝Windows。 如果無法正常進入Windows,那需要重新安裝Windows的任務又只得在DOS下進行了。對于廣大初學者,在DOS下安裝Windows還有一定的困難,下面我就具體講解一下在DOS下的安裝。這里的安裝使用光盤啟動,若使用軟盤啟動其操作大致相同。 1、在開機進行自檢時按下"DEL"鍵從而進入BIOS設置,在"BIOS FEATURES SETUP"的"Boot Sequence"將"CDROM"一項設置在最前面;按"ESC"鍵退到主畫面,按"F10"鍵,并輸入"Y",即可存盤退出。 2、在開機前將系統(tǒng)啟動盤放入光驅(qū)。 3、在啟動后的啟動菜單中選擇"啟動并使用光驅(qū)(With CDROM)",大家也可以選擇啟動后自動運行Windows98的安裝程序,但那樣并不和我意,安裝過程將十分漫長,所以在安裝前我們需要運行"SMARTDRV.EXE"。 4、進入DOS后就轉(zhuǎn)到光驅(qū)盤符,使用"DIR"命令查看目錄,然后進入Windows的安裝目錄(目錄名大都可以見名知意,一般為"Win98"、"Win"、"Windows"等)。 5、運行"SMARTDRV.EXE"。 6、運行"SETUP.EXE",回車后會進入磁盤掃描,完成后即可進入安裝,其操作就和在Windows中安裝一樣了。 看完了這兩個最常見的問題,你是否有所收獲?主要大家將基礎的東西掌握后,面對問題不慌不亂,仔細思考分析,能從其它的故障中不斷總結(jié)經(jīng)驗,你也很快會成為一個電腦高手。另外,多幫助他人解決問題也能使你獲得更多的鍛煉機會,增加自己的知識面,從而可以積累更多、更好的資本。
posted @
2006-09-18 13:43 小歪 閱讀(557) |
評論 (0) |
編輯 收藏

2006年9月12日
???????? 用InstallShield做安裝程序

???????? 最好是先用安裝制作向?qū)izard生成一個簡單的安裝程序,再在這個安裝程序上修改,因為這樣一些代碼能夠自動生成,不要自己敲了。
??????? 然后再根據(jù)自己的需求,在各個面板中進行修改,注意啊,修改完了要重新生成媒體文件才能生效,要不然看不到效果啊。
?????? 大部分的操作都可以通過面板和菜單完成,一些不能完成的,就需要添加腳本代碼了,不認添加環(huán)境變量等,也只是在事件函數(shù)中調(diào)用一些特定函數(shù),在幫助中可以找到。
??????? 自定義對話框,就是自己做一個對話框的界面(可以在InstallShield安裝目錄下的Example文件夾下找一個模板,復制一個,然后對這個進行修改就行),再寫一個Dialog.rul,注意啊,這個腳本一定要讓Setup.rul包含,而且在Dialog.rul中,調(diào)用對話框的函數(shù)(EzDefineDialog)一定要使ID號正確。
?????? 改變對話框右上角的位圖,只要在Setup Files中添加一個bmp文件,再在適當位置調(diào)用DialogSetInfo就可以了!
?????? 就是不會用命令行!DOS下面,這個挺煩人!
?????? 生成通用的安裝程序,加油!
posted @
2006-09-12 14:57 小歪 閱讀(450) |
評論 (0) |
編輯 收藏

2006年8月22日
????? 經(jīng)過一個半月的忙碌和奔波,終于我在7月20號找到了實習的單位。 時間過得很快,到現(xiàn)在實習已經(jīng)有一個月的時間了,最大的感觸就是生活充實了。 在公司里,同事們都非常和氣,尤其是我的頂頭上司,脾氣超好,經(jīng)常被我一些幼稚的問題笑倒,而我也漸漸的大膽起來,經(jīng)常開玩笑,感覺工作很高興!當然最重要的是工作,這一個月我學到了學多以前根本沒想到的知識,這讓我很激動,也一直激勵著自己努力啊,這些可都是好東東啊!哈哈!希望盡快的學習,盡快的完成任務!繼續(xù)努力!
posted @
2006-08-22 19:51 小歪 閱讀(498) |
評論 (1) |
編輯 收藏