• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 12,  comments - 5,  trackbacks - 0
              2006年12月5日
            ??????? 已經好久沒來了,最近找工作很失敗,身心俱疲!

            ??????? 不再有當初的激情,不再有當初的自信,看到別人一個一個拿到offer,我現在還在等待,而且都是不盡人意的公司,心里已經萌生了自卑。

            posted @ 2006-12-05 09:10 小歪 閱讀(157) | 評論 (0)編輯 收藏
              2006年10月17日

            匆匆的十一長假過去了,迎來了一連串的瑣碎又重要的事情,

            要開始寫畢業論文了,導師好像有意讓我們3月份畢業,可是現在畢業論文還沒開筆,有點心急了。

            開始公務員報名了,既然要報名就要好好復習,準備考試,對我來說公務員考試很難啊!

            開始找工作了,現在招聘的黃金時節已經來臨,看到別人都結束實習,趕去招聘,有點心慌!

            每天要上班,好像心不在焉,心里的掛念太多,不能專心工作,怕實習不能圓滿成功!

            ?

            posted @ 2006-10-17 10:37 小歪 閱讀(148) | 評論 (0)編輯 收藏
              2006年9月30日
            ???????在我們寫的程序當中,總有一些配置信息需要保存下來,以便完成程序的功能,最簡單的辦法就是將這些信息寫入INI文件中,程序初始化時再讀入.具體應用如下:
              一.將信息寫入.INI文件中.
              1.所用的WINAPI函數原型為:?
            BOOL?WritePrivateProfileString(
            LPCTSTR?lpAppName,
            LPCTSTR?lpKeyName,
            LPCTSTR?lpString,
            LPCTSTR?lpFileName
            );?
              其中各參數的意義:
               LPCTSTR?lpAppName?是INI文件中的一個字段名.
               LPCTSTR?lpKeyName?是lpAppName下的一個鍵名,通俗講就是變量名.
               LPCTSTR?lpString?是鍵值,也就是變量的值,不過必須為LPCTSTR型或CString型的.

            LPCTSTR?lpFileName?是完整的INI文件名.

            2.具體使用方法:設現有一名學生,需把他的姓名和年齡寫入?c:\stud\student.ini?文件中.?

            CString?strName,strTemp;
            int?nAge;
            strName="張三";
            nAge=12;
            ::WritePrivateProfileString("StudentInfo","Name",strName,"c:\\stud\\student.ini");?

            此時c:\stud\student.ini文件中的內容如下:
            [StudentInfo]

               Name=張三
              3.要將學生的年齡保存下來,只需將整型的值變為字符型即可:
            strTemp.Format("%d",nAge);
            ::WritePrivateProfileString("StudentInfo","Age",strTemp,"c:\\stud\\student.ini");?

              二.將信息從INI文件中讀入程序中的變量.
              1.所用的WINAPI函數原型為:
            DWORD?GetPrivateProfileString(
            LPCTSTR?lpAppName,?
            LPCTSTR?lpKeyName,?
            LPCTSTR?lpDefault,?
            LPTSTR?lpReturnedString,?
            DWORD?nSize,?
            LPCTSTR?lpFileName?
            );?
              其中各參數的意義:?
               前二個參數與?WritePrivateProfileString中的意義一樣.

               lpDefault?:?如果INI文件中沒有前兩個參數指定的字段名或鍵名,則將此值賦給變量.?
               lpReturnedString?:?接收INI文件中的值的CString對象,即目的緩存器.
               nSize?:?目的緩存器的大小.
               lpFileName?:?是完整的INI文件名.
              2.具體使用方法:現要將上一步中寫入的學生的信息讀入程序中.
            CString?strStudName;
            int?nStudAge;?
            GetPrivateProfileString("StudentInfo","Name","默認姓名",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini");?
              執行后?strStudName?的值為:"張三",若前兩個參數有誤,其值為:"默認姓名".

              3.讀入整型值要用另一個WINAPI函數:?
            UINT?GetPrivateProfileInt(
            LPCTSTR?lpAppName,?
            LPCTSTR?lpKeyName,?
            INT?nDefault,?
            LPCTSTR?lpFileName?
            );?
              這里的參數意義與上相同.使用方法如下:

            nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,"c:\\stud\\student.ini");?

              三.循環寫入多個值,設現有一程序,要將最近使用的幾個文件名保存下來,具體程序如下:
              1.寫入:
            CString?strTemp,strTempA;
            int?i;
            int?nCount=6;
            file://共有6個文件名需要保存

            for(i=0;i?{strTemp.Format("%d",i);
            strTempA=文件名;
            file://文件名可以從數組,列表框等處取得.
            ::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA,"c:\\usefile\\usefile.ini");
            }
            strTemp.Format("%d",nCount);
            ::WritePrivateProfileString("FileCount","Count",strTemp,"c:\\usefile\\usefile.ini");
            file://將文件總數寫入,以便讀出.?

              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中的內容.
            }?

              補充四點:

               1.INI文件的路徑必須完整,文件名前面的各級目錄必須存在,否則寫入不成功,該函數返回?FALSE?值.

               2.文件名的路徑中必須為?\\?,因為在VC++中,?\\?才表示一個?\?.

               3.也可將INI文件放在程序所在目錄,此時?lpFileName?參數為:?".\\student.ini".

               4.從網頁中粘貼源代碼時,最好先粘貼至記事本中,再往VC中粘貼,否則易造成編譯錯誤,開始時我也十分不解,好好的代碼怎么就不對呢?后來才找到這個方法.還有一些代碼中使用了全角字符如:<,\等,也會造成編譯錯誤.
            posted @ 2006-09-30 09:14 小歪 閱讀(4596) | 評論 (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文件!","結果",MB_OK);?
            ????????return;?
            ????}?
            ????//獲取注冊函數DllRegisterServer地址?
            ????FARPROC lpOCXEntryPoint;?
            ????lpOCXEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer")); //改成DllRegisterServer可以卸載
            ????//調用注冊函數DllRegisterServer?
            ????if(lpOCXEntryPoint!=NULL)?
            ????{?
            ????????if(FAILED((*lpOCXEntryPoint)()))?
            ????????{?
            ????????????MessageBox("調用DllRegisterServer失?。?,"結果",MB_OK);?
            ????????????FreeLibrary(hLib);?
            ????????????return;?
            ????????}?
            ????????else
            ????????{
            ???????????????MessageBox("注冊成功","結果",MB_OK);?
            ?????}
            ???
            ?}
            ?else?
            ?????MessageBox("調用DllRegisterServer失?。?,"結果",MB_OK);

            }

            posted @ 2006-09-28 16:45 小歪 閱讀(1368) | 評論 (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 小歪 閱讀(1323) | 評論 (0)編輯 收藏
              2006年9月19日
            ??????? 終于快到十一了!
            ??? ??? 到了明天,我就實習整整兩個月了。
            ??????? 在開始的一段時間里,感覺很充實,每天都能學到新的知識,有時晚上做夢都不再是遠在成都的男友,而是我要解決的問題,那種感覺就像我馬上就成為高手了,特別的激動人心。
            ??????? 可是現在,我在迷茫,不知道自己正在做的是不是有意義,現在真想放假,讓自己好好的考慮一下,或者真是從學校到公司的熱度降溫造成的,應該調整心態,以后就要天天上班,保持好的心情才可以!
            ??????? 堅持吧!
            posted @ 2006-09-19 14:51 小歪 閱讀(184) | 評論 (0)編輯 收藏
            擴展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批處理文件。

            首先批處理文件是一個文本文件,這個文件的每一行都是一條DOS命令(大部分時候就好象我們在DOS提示符下執行的命令行一樣),你可以使用DOS下的Edit或者Windows的記事本(notepad)等任何文本文件編輯工具創建和修改批處理文件。

            其次,批處理文件是一種簡單的程序,可以通過條件語句(if)和流程控制語句(goto)來控制命令運行的流程,在批處理中也可以使用循環語句(for)來循環執行一條命令。當然,批處理文件的編程能力與C語言等編程語句比起來是十分有限的,也是十分不規范的。批處理的程序語句就是一條條的DOS命令(包括內部命令和外部命令),而批處理的能力主要取決于你所使用的命令。

            第三,每個編寫好的批處理文件都相當于一個DOS的外部命令,你可以把它所在的目錄放到你的DOS搜索路徑(path)中來使得它可以在任意位置運行。一個良好的習慣是在硬盤上建立一個bat或者batch目錄(例如C:\BATCH),然后將所有你編寫的批處理文件放到該目錄中,這樣只要在path中設置上c:\batch,你就可以在任意位置運行所有你編寫的批處理程序。

            第四,在DOS和Win9x/Me系統下,C:盤根目錄下的AUTOEXEC.BAT批處理文件是自動運行批處理文件,每次系統啟動時會自動運行該文件,你可以將系統每次啟動時都要運行的命令放入該文件中,例如設置搜索路徑,調入鼠標驅動和磁盤緩存,設置系統環境變量等。下面是一個運行于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

            批處理的作用
            簡單的說,批處理的作用就是自動的連續執行多條命令。

            這里先講一個最簡單的應用:在啟動wps軟件時,每次都必須執行(>前面內容表示DOS提示符):
            C:\>cd wps
            C:\WPS>spdos
            C:\WPS>py
            C:\WPS>wbx
            C:\WPS>wps
            如果每次用WPS之前都這樣執行一遍,您是不是覺得很麻煩呢?

            好了,用批處理,就可以實現將這些麻煩的操作簡單化,首先我們編寫一個runwps.bat批處理文件,內容如下:
            @echo off
            c:
            cd\wps
            spdos
            py
            wbx
            wps
            cd\

            以后,我們每次進入wps,只需要運行runwps這個批處理文件即可。

            常用命令

            echo、@、call、pause、rem(小技巧:用::代替rem)是批處理文件最常用的幾個命令,我們就從他們開始學起。
            echo 表示顯示此命令后的字符
            echo off 表示在此語句后所有運行的命令都不顯示命令行本身
            @與echo off相象,但它是加在每個命令行的最前面,表示運行時不顯示這一行的命令行(只能影響當前行)。
            call 調用另一個批處理文件(如果不用call而直接調用別的批處理文件,那么執行完那個批處理文件后將無法返回當前文件并執行當前文件的后續命令)。
            pause 運行此句會暫停批處理的執行并在屏幕上顯示Press any key to continue...的提示,等待用戶按任意鍵后繼續
            rem 表示此命令后的字符為解釋行(注釋),不執行,只是給自己今后參考用的(相當于程序中的注釋)。

            例1:用edit編輯a.bat文件,輸入下列內容后存盤為c:\a.bat,執行該批處理文件后可實現:將根目錄中所有文件寫入 a.txt中,啟動UCDOS,進入WPS等功能。

              批處理文件的內容為:         命令注釋:

                @echo off           不顯示后續命令行及當前命令行
                dir c:\*.* >a.txt       將c盤文件列表寫入a.txt
                call c:\ucdos\ucdos.bat    調用ucdos
                echo 你好            顯示"你好"
                pause              暫停,等待按鍵繼續
                rem 準備運行wps         注釋:準備運行wps
                cd ucdos            進入ucdos目錄
                wps               運行wps 

            批處理文件的參數

            批處理文件還可以像C語言的函數一樣使用參數(相當于DOS命令的命令行參數),這需要用到一個參數表示符“%”。

            %[1-9]表示參數,參數是指在運行批處理文件時在文件名后加的以空格(或者Tab)分隔的字符串。變量可以從%0到%9,%0表示批處理命令本身,其它參數字符串用%1到%9順序表示。

            例2:C:根目錄下有一批處理文件名為f.bat,內容為:
            @echo off
            format %1

            如果執行C:\>f a:
            那么在執行f.bat時,%1就表示a:,這樣format %1就相當于format a:,于是上面的命令運行時實際執行的是format a:

            例3:C:根目錄下一批處理文件名為t.bat,內容為:
            @echo off
            type %1
            type %2

            那么運行C:\>t a.txt b.txt
            %1 : 表示a.txt
            %2 : 表示b.txt
            于是上面的命令將順序地顯示a.txt和b.txt文件的內容。

            特殊命令

            if goto choice for是批處理文件中比較高級的命令,如果這幾個你用得很熟練,你就是批處理文件的專家啦。

            一、if 是條件語句,用來判斷是否符合規定的條件,從而決定執行不同的命令。 有三種格式:

            1、if [not] "參數" == "字符串" 待執行的命令

            參數如果等于(not表示不等,下同)指定的字符串,則條件成立,運行命令,否則運行下一句。

            例:if "%1"=="a" format a:

            2、if [not] exist [路徑\]文件名 待執行的命令
            如果有指定的文件,則條件成立,運行命令,否則運行下一句。

            如: if exist c:\config.sys type c:\config.sys
            表示如果存在c:\config.sys文件,則顯示它的內容。

            3、if errorlevel <數字> 待執行的命令

            很多DOS程序在運行結束后會返回一個數字值用來表示程序運行的結果(或者狀態),通過if errorlevel命令可以判斷程序的返回值,根據不同的返回值來決定執行不同的命令(返回值必須按照從大到小的順序排列)。如果返回值等于指定的數字,則條件成立,運行命令,否則運行下一句。

            如if errorlevel 2 goto x2

            二、goto 批處理文件運行到這里將跳到goto所指定的標號(標號即label,標號用:后跟標準字符串來定義)處,goto語句一般與if配合使用,根據不同的條件來執行不同的命令組。

            如:
            goto end

            :end
            echo this is the end

            標號用“:字符串”來定義,標號所在行不被執行。

            三、choice 使用此命令可以讓用戶輸入一個字符(用于選擇),從而根據用戶的選擇返回不同的errorlevel,然后于if errorlevel配合,根據用戶的選擇運行不同的命令。

            注意:choice命令為DOS或者Windows系統提供的外部命令,不同版本的choice命令語法會稍有不同,請用choice /?查看用法。

            choice的命令語法(該語法為Windows 2003中choice命令的語法,其它版本的choice的命令語法與此大同小異):

            CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

            描述:
            該工具允許用戶從選擇列表選擇一個項目并返回所選項目的索引。

            參數列表:
            /C choices 指定要創建的選項列表。默認列表是 "YN"。
            /N 在提示符中隱藏選項列表。提示前面的消息得到顯示,
            選項依舊處于啟用狀態。
            /CS 允許選擇分大小寫的選項。在默認情況下,這個工具
            是不分大小寫的。
            /T timeout 做出默認選擇之前,暫停的秒數。可接受的值是從 0
            到 9999。如果指定了 0,就不會有暫停,默認選項
            會得到選擇。
            /D choice 在 nnnn 秒之后指定默認選項。字符必須在用 /C 選
            項指定的一組選擇中; 同時,必須用 /T 指定 nnnn。
            /M text 指定提示之前要顯示的消息。如果沒有指定,工具只
            顯示提示。
            /? 顯示幫助消息。

            注意:
            ERRORLEVEL 環境變量被設置為從選擇集選擇的鍵索引。列出的第一個選
            擇返回 1,第二個選擇返回 2,等等。如果用戶按的鍵不是有效的選擇,
            該工具會發出警告響聲。如果該工具檢測到錯誤狀態,它會返回 255 的
            ERRORLEVEL 值。如果用戶按 Ctrl+Break 或 Ctrl+C 鍵,該工具會返回 0
            的 ERRORLEVEL 值。在一個批程序中使用 ERRORLEVEL 參數時,將參數降
            序排列。

            示例:
            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的內容如下(注意,用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語句根據用戶的選擇作出判斷,d表示執行標號為defrag的程序段,m表示執行標號為mem的程序段,e表示執行標號為end的程序段,每個程序段最后都以goto end將程序跳到end標號處,然后程序將顯示good bye,批處理運行結束。

            四、for 循環命令,只要條件符合,它將多次執行同一命令。

            語法:
            對一組文件中的每一個文件執行某個特定命令。

            FOR %%variable IN (set) DO command [command-parameters]

            %%variable 指定一個單一字母可替換的參數。
            (set) 指定一個或一組文件??梢允褂猛ㄅ浞?br />command 指定對每個文件執行的命令。
            command-parameters 為特定命令指定參數或命令行開關。

            例如一個批處理文件中有一行:
            for %%c in (*.bat *.txt) do type %%c

            則該命令行會顯示當前目錄下所有以bat和txt為擴展名的文件的內容。

            批處理示例

            1. IF-EXIST

            1)
            首先用記事本在C:\建立一個test1.bat批處理文件,文件內容如下:
            @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文件,那么它的內容就會被顯示出來,如果不存在,批處理就會提示你該文件不存在。

            2)
            接著再建立一個test2.bat文件,內容如下:
            @ECHO OFF
            IF EXIST \%1 TYPE \%1
            IF NOT EXIST \%1 ECHO \%1 does not exist

            執行:
            C:\>TEST2 AUTOEXEC.BAT
            該命令運行結果同上。

            說明:
            (1) IF EXIST 是用來測試文件是否存在的,格式為
            IF EXIST [路徑+文件名] 命令
            (2) test2.bat文件中的%1是參數,DOS允許傳遞9個批參數信息給批處理文件,分別為%1~%9(%0表示test2命令本身) ,這有點象編程中的實參和形參的關系,%1是形參,AUTOEXEC.BAT是實參。

            3) 更進一步的,建立一個名為TEST3.BAT的文件,內容如下:
            @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

            在這個命令執行過程中,DOS會將一個空字符串指定給參數%3。

            2、IF-ERRORLEVEL

            建立TEST4.BAT,內容如下:
            @ECHO OFF
            XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷貝失敗
            IF ERRORLEVEL 0 ECHO 成功拷貝文件

            然后執行文件:
            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結束拷貝操作
            3 因致命的處理錯誤使盤拷貝中止
            4 預置錯誤阻止拷貝操作

            format
            0 格式化成功
            3 用戶通過ctrl-c中止格式化處理
            4 因致命的處理錯誤使格式化中止
            5 在提示“proceed with format(y/n)?”下用戶鍵入n結束

            xcopy
            0 成功拷貝文件
            1 未找到拷貝文件
            2 用戶通過ctrl-c中止拷貝操作
            4 預置錯誤阻止文件拷貝操作
            5 拷貝過程中寫盤錯誤

            3、IF STRING1 == STRING2

            建立TEST5.BAT,文件內容如下:
            @echo off
            IF "%1" == "A" FORMAT A:

            執行:
            C:\>TEST5 A
            屏幕上就出現是否將A:盤格式化的內容。

            注意:為了防止參數為空的情況,一般會將字符串用雙引號(或者其它符號,注意不能使用保留符號)括起來。
            如:if [%1]==[A] 或者 if %1*==A*

            5、GOTO

            建立TEST6.BAT,文件內容如下:
            @ECHO OFF
            IF EXIST C:\AUTOEXEC.BAT GOTO _COPY
            GOTO _DONE
            :_COPY
            COPY C:\AUTOEXEC.BAT D:\
            :_DONE

            注意:
            (1) 標號前是ASCII字符的冒號":",冒號與標號之間不能有空格。
            (2) 標號的命名規則與文件名的命名規則相同。
            (3) DOS支持最長八位字符的標號,當無法區別兩個標號時,將跳轉至最近的一個標號。

            6、FOR

            建立C:\TEST7.BAT,文件內容如下:
            @ECHO OFF
            FOR %%C IN (*.BAT *.TXT *.SYS) DO TYPE %%C

            運行:
            C:>TEST7

            執行以后,屏幕上會將C:盤根目錄下所有以BAT、TXT、SYS為擴展名的文件內容顯示出來(不包括隱藏文件)。

            posted @ 2006-09-19 14:07 小歪 閱讀(281) | 評論 (0)編輯 收藏
              2006年9月18日

            DOS完整教程(新手學DOS,easy?。?作者:冰河

            ?DOS使用常識 DOS的概況 DOS(Disk Operating System)是一個使用得十分廣泛的磁盤操作系統,就連眼下流行的Windows9x/ME系統都是以它為基礎。

            常見的DOS有兩種:IBM公司的PC-DOS和微軟公司的MS-DOS,它們的功能、命令用途格式都相同,我們常用的是MS-DOS。 自從DOS在1981年問世以來,版本就不斷更新,從最初的DOS1.0升級到了最新的DOS8.0(Windows ME系統),純DOS 的最高版本為DOS6.22,這以后的新版本DOS都是由Windows系統所提供的,并不單獨存在。下面的講解所使用的DOS為Windows98 4.10.2222A的DOS7.0系統。

            DOS的基礎知識

            (1)DOS的組成 DOS分為核心啟動程序和命令程序兩個部分。 DOS的核心啟動程序有Boot系統引導程序、IO.SYS、MSDOS.SYS和COMMAND.COM。它們是構成DOS系統最基礎的幾個部分,有了它們系統就可以啟動。 但光有啟動程序還不行,DOS作為一個字符型的操作系統,一般的操作都是通過命令來完成。DOS命令分為內部命令和外部命令。內部命令是一些常用而所占空間不大的命令程序,如dir、cd等,它們存在于COMMAND.COM文件中,會在系統啟動時加載到內存中,以方便調用。而其它的一些外部命令則以單獨的可執行文件存在,在使用時才被調入內存。 (小知識:可執行的程序文件有*.COM和*.EXE兩種,一般來講,*.EXE文件為軟件執行程序,而*.COM文件則為命令程序)

            (2)DOS的啟動 如果你安裝了WIN98,在電腦啟動時按住Ctrl不放,出現啟動選擇菜單,選擇5"Command Prompt Only"即可進入DOS方式。 目前我們常用的操作系統有windows 9x/Me,NT,2000等,都是可視化的界面。在這些系統之前的人們使用的操作系統是DOS系統。DOS系統目前已經沒有什么人使用了,但是dos命令卻依然存在于我們使用的windows系統之中。大部分的DOS命令都已經在Windows里變成了可視化的界面,但是有一些高級的DOS命令還是要在DOS環境下來執行。所以學習命令行對于我們熟練操作Windows系統是很有必要的。 不同的操作系統要用不同的命令進入命令行界面。 在Win9x/Me的開始菜單中的運行程序中鍵入"command"命令,可進入命令行界面。 在Win2000/NT的開始菜單中的運行程序中鍵?quot;cmd"命令,可進入命令行界面。 下面我用講到的DOS命令都可以在Windows Me操作系統中執行。 那么,我們如何進入命令行窗口? 開始——〉運行——〉鍵入command命令——〉回車 進入了命令行操作界面(DOS窗口),在DOS窗口中只能用鍵盤來操作。 在DOS中通過輸入英文命令加回車鍵這種方式來執行程序。

            (3)DOS的系統提示符 DOS啟動后,會顯示"C:>"以及一個閃動的光標,這及是DOS的系統提示符,它表示了當前所在的盤符和目錄,我們可以輸入"[盤符] :"來進行轉換,如"A:"、"E:"。這里要注意輸入的盤符一定要是存在的。 (小知識:盤符從A到Z,通常A、B盤為軟驅,硬盤的盤符從C開始,而光驅的盤符為最后一個)

            (4)文件及目錄 電腦中的數據主要都是以文件形式存儲的,也可以說DOS以文件的形式來管理數據。 文件是相關數據的集合,若干數據聚集在一起組成一個文件。每個文件都有文件名,文件名由主文件名和后綴名兩部分組成,中間有小圓點隔開。DOS6.22及其以前版本最多僅支持8個字符的主文件名和3個字符的后綴名,而從Windows 95的DOS7.0開始就可支持128個字符的主文件名和后綴名。字母、漢字、數字和一些特殊符號如"!、@、#"都可以作為文件名,但不能有"/、\、|、:、?"等符號。 通常我們可以通過文件的后綴名看出該文件的類型,比如: 后綴名 文件類型  EXE   可執行程序文件  COM   可執行命令文件  BAT   可執行批處理文件  TXT   文本文件  DAT   數據文件  BAK   備份文件  為了方便用戶進行操作,DOS還允許使用通配符。所謂通配符,就是"?"與"*"這兩個符號,它們可以用來代替文件名中的某些字符。"?"代表一個合法的字符或空字符,比如"AB?D.EXE"文件就可以示"ABCD.EXE"、"ABDD.EXE"、"ABZD.EXE"等。 而"*"則代表若干個字符,如"*.BAT"就代表當前目錄下所有后綴名為"BAT"的文件。 DOS以目錄樹的形式管理磁盤,這里的目錄就相當于Windows中的文件夾。和文件夾一樣,目錄也是一層一層的,構成一個樹的形式。在一個盤符中最底層的目錄為根目錄,根目錄下的目錄都稱為它的子目錄,根目錄用"\"表示,一個目錄的上一層目錄用".."表示。我們可以通過路徑來查找某一個文件或目錄,路徑就如同地址一樣,可以使用戶方便、準確地進行查找。比如"C:\Windows\Command\deltree.exe"就是一個文件的路徑。 在同一個目錄下,不允許存在相同名稱的文件或目錄。 DOS的內部命令 DOS的內部命令是進行操作的基礎,完成了對它們的學習你就跨進了DOS系統的大門。

            ?1)DIR--顯示指定路徑上所有文件或目錄的信息 它的格式為"DIR [盤符:][路徑][文件名] [參數]",比如"DIR E:\FF.M3U"。輸入后回車則會顯示出相關信息(如圖1)。另外它還有幾個參數: /W:寬屏顯示,一排顯示5個文件名,而不會顯示修改時間,文件大小等信息; /P:分頁顯示,當屏幕無法將信息完成顯示時,可使用其進行分頁顯示; /A:顯示具有特殊屬性的文件,這里的屬性有"H"隱藏、"R"只讀等,我們可以輸入"DIR *.* /AH"來顯示當前目錄下所有具有隱藏屬性的文件; /S:顯示當前目錄及其子目錄下所有的文件,通過這個參數,我們可以進行某個文件或目錄的查找,比如我們可以在"C:>"后輸入"DIR *.DAT /S"來查找C盤中所有后綴名為DAT的文件。 幾種參數可以同時使用,例如"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 [盤符][路徑][文件名] [參數]",比如"DEL C:\DATA\*.BAK"。它有一個參數:"/P",可以使用戶在刪除多個文件時對每個文件都顯示刪除詢問.

            7)REN--改名 格式為"REN [原名] [現名]",7.0以后版本的DOS都支持對文件名和目錄名的修改,而以前的DOS只能修改文件名。

            8)TYPE--顯示文本文件 格式為"TYPE [文件名]",能對文本文件進行查看。

            ?9)discopy--磁盤復制 [功能] 復制出一個和原來磁盤內容一模一樣的磁盤 [格式] diskcopy 源驅動器名 目的動驅器名 [說明] 它的主要用途就是用來備份。比如我們的電腦在剛買來時,會隨機附帶一些設備驅動程序磁盤,這些驅動程序在以后都有可能用到,為防止這些磁盤的損壞,一定要將它們都備份一套,這時,使用diskcopy命令是比較快捷和方便的。

            10) deltree--刪除目錄樹 [格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] […]] [說明] 這個命令將整個指定目錄樹全部消滅,而不管它是否是只讀、隱藏與否。使用應特別小心。它是一個危險命令。

            11) mem--查看你的計算機內存有多少,以及內存的使用情況。 [格式] 直接鍵入mem命令

            ?12) chkdsk--檢查你的磁盤的使用情況。 [格式] chkdsk 磁盤名 [說明] 例如要檢查A盤使用情況,就輸入chkdsk A: ,檢查c盤使用情況,就輸入chkdsk C: ,如果直接輸入chkdsk,就檢查當前磁盤的使用情況。 13) sys--傳遞系統文件命令。將DOS的兩個隱含的系統IO.SYS和MSDOS.SYS傳送到目標磁盤的特定位置上,并將COMMAND.COM文件復制過去。完成后,目標盤成為DOS的啟動盤。 [格式] [C:][path]SYS [C1:][path] d2: [說明] 由于這幾個文件需要復制到特定位置上,所以用COPY命令完成的復制未必能夠啟動機器。能過SYS命令,DOS可以將目標盤已占據特定位置的文件移動,并將系統文件復制到相應位置上。參數C1:path用來指明系統文件所在目錄。如不指明,則缺省為當前盤的當前目錄。所以這個命令一般要在源盤的根目錄進行。

            14) pass--設定DOS尋找.COM、.EXE、.BAT文件的所在目錄 [格式] path=[[drive:]path[;…]]或path [說明] 只打path沒有參數時,只顯示環境變量內容。有參數時,重新設置path變量。在沒有指定path環境變量時,用戶發出的命令,DOS首先判斷其是否為內部命令,再查找當前目錄中是否有主文件名是該命令的可執行文件,如果均不是,則顯示信息“Bad command or filename”。如果發出了指定路徑的命令,則在指定徑中依次查找,仍找不到則出現上述提示。

            15) cls--清除顯示器屏幕上的內容,使DOS提示符到屏幕左上角。 [格式] cls 16) time--顯示和設置DOS的系統時間 [格式] time [hh[:mm[:ss[.cc]]] 17) date--顯示和設置DOS的系統日期 [格式] date [MM-DD-YY] 18) ver--顯示正在運行的DOS系統版本號 [格式] ver DOS的外部命令 DOS的外部命令就是一些應用程序,能夠使用戶的操作更加方便和深入。這些外部命令都是以文件的形式存在,Windows系統的DOS外部命令保存在Windwos主目錄下的"Command"目錄中。下面就讓我們來看看常用的一些DOS外部命令。

            1? FORMAT(Format.COM)--格式化命令 眾所周知,新買的磁盤都必須經過格式化后方能使用,FORMAT命令可以完成對軟盤和硬盤的格式化操作,格式為"FORMAT [盤符] [參數]",例如:"FORMAT A: /S"。它有兩個常見的參數: /Q:進行快速格式化; /S:完成格式化,并將系統引導文件拷貝到該磁盤。 注意:該命令會清除目的磁盤上的所有數據,一定要小心使用。如果進行了普通的格式化,那磁盤上的數據還有可能恢復,但如果加上了"/Q",那要恢復就比蹬天還難了。

            ?2? EDIT(Edit.COM)--編輯命令 其實它就是一個文本編輯軟件,使用它可以在DOS下方便地對文本文件進行編輯,格式為"EDIT [文件名] [參數]",它的參數不是特別實用,我在此就不多講。

            3? SYS(Sys.COM)--系統引導文件傳輸命令 它能夠將IO.SYS等幾個文件傳輸到目的磁盤,使其可以引導、啟動。格式為"SYS [盤符]"

            4? ATTRIB(Attrib.EXE)--文件屬性設置命令 通過該命令,我們可以對文件進行屬性的查看和更改。格式為"ATTRIB [路徑][文件名] [參數]",如果不加參數則為顯示文件屬性。它的參數有"+?"和"-?"兩種,"?"代表屬性代號,這些代號有:"H"隱藏;"S"系統;"R"只讀,"+"表示賦予,"-"表示去除。

            5? XCOPY(Xcopy.EXE)--拷貝命令 該命令在"COPY"的基礎上進行了加強,能夠對多個子目錄進行拷貝。它的參數比較多,但是最常用的是"/S",它可以對一個目錄下屬的多個子目錄進行拷貝,另外"/E"可以拷貝空目錄。格式為"XCOPY [源路徑][源目錄/文件名] [目的目錄/文件名] [參數]"。

            6? SCANDISK(Scandisk.EXE)--磁盤掃描程序 這個命令在實際的操作中有很大的用處,它能對磁盤進行掃描并修復,能夠解決大部分的磁盤文件損壞問題。格式為"SCANDISK [盤符:] [參數]"下面是它的幾個參數: /fragment [驅動器名:\路徑\文件名]:使用這個參數可以顯示文件是否包含有間斷的塊,我們可以通過運行磁盤整理程序來解決這個問題; /all:檢查并修復所有的本地驅動器; /autofix:自動修復錯誤,即在修復時不會出現提示; /checkonly:僅僅檢查磁盤,并不修復錯誤; /custom:根據Scandisk.ini文件的內容來運行Scandisk,Scandisk.ini是一個文本文件,它包含了對Scandisk程序的設置,其中的[custom]塊是在加上"/custom"參數后才執行的,用戶可以根據自己的不同情況來進行不同的設置; /nosave:在檢查出有丟失簇后直接刪除,并不轉化為文件; /nosummary:不顯示檢查概要,完成檢查后將直接退出程序; /surface:在完成初步檢查后進行磁盤表面掃描; /mono:以單色形式運行Scandisk。 我們可以根據不同的情況來加上不同的參數。我們可以執行"scandisk /all /checkonly /nosave /nosummary"來完成對磁盤的檢查并且自動退出,另外還可以編輯scandisk.ini文件中設置,再運行"scandisk /custom"。如果被損壞的文件比較多,我們可以使用"/autofix"來進行自動修復,不然會忙死你的。

            7? CHKDSK(Chkdsk.EXE)--磁盤檢查命令 它會檢查磁盤,并會顯示一個磁盤狀態報告。格式為"CHKDSK [盤符:] [參數]",最常用的參數是"/F",可以對文件錯誤進行修復。

            8 ? MOVE(Move.EXE)--文件移動命令 使用它可以對文件進行移動。格式為"MOVE [源文件] [目的路徑]"。同時也可以使用通配符。

            9??? DELTREE(Deltree.EXE)--刪除命令 這可是DEL命令的超級加強版,它不僅可以刪除文件,并且會將指定目錄和其下的所有文件和子目錄一并刪掉。使用它,我們可以很方便的對目錄進行徹底的刪除。格式"DELTREE [文件/路徑] [參數]",參數有一個"/Y",使用時系統會對每個文件進行詢問,回答"Y"后才刪除。

            10?? FDISK(Fdisk.EXE)--分區命令 我們可以使用它對硬盤進行分區操作,我在下一部分會進行具體講解。 以上就是常用的一些DOS外部命令,使用它們可以使你的操作更方便,同時也是進行系統修復所必不可少的。請大家好好地掌握每一個命令及其用處。 更多的DOS命令 命令     功能  ctty     改變控制設備 emm386    擴展內存管理    fdisk     硬盤分區   lh/loadhigh  將程序裝入高端內存  move     移動文件,改目錄名  prompt    設置提示符  smartdrv   設置磁盤加速器  subst     路徑替換  xcopy     拷貝目錄和文件 attrib    設置文件屬性 defrag    磁盤碎片整理 doskey    調用和建立DOS宏命令 debug     程序調試命令 fc      文件比較 more     分屏顯示 vol      顯示指定的磁盤卷標號 setver    設置版本 set      設置環境變量 大家如果感興趣的話,不妨自己在DOS窗口中打打這些命令試試看。 FDISK使用介紹 對硬盤進行分區、格式化,是每個硬盤都必須經過的步驟。在這里我就來具體講解一下怎樣使用FDISK進行硬盤分區。 FDISK程序是DOS和Windows系統自帶的分區軟件,雖然其功能比不上有些軟件,但用它分區是十分安全的。一下就是具體的操作步驟: 1)進入DOS方式。在系統引導、出現"Starting Windows....."的時候按下"F8"鍵,然后再選擇"Command Prompt Only"即可進入DOS方式。 2)鍵入"FDISK"后回車即可進入。 3)這時軟件會問你是否支持FAT32,回答"Y"就可以建立FAT32分區,回答"N"則會使用FAT16,決定以后按回車。 4)出現FDISK的主菜單,要建立分區請選擇"1"再回車。 5)建立主分區(Primary Partition),選擇"1"后回車。 6)這時系統會詢問你是否使用最大的可用空間作為主分區,如果回答"Y",那么軟件就會將所有的磁盤空間劃分成一個分區,回答"N"則可以劃分多個分區,對于現在的硬盤來說,一般都比較大,如果劃分成一個分區就不太好管理,因此可以選擇輸入"N"來分成多個分區。 7)軟件會提示你輸入主分區的大小,輸入后回車。 8)完成后按ESC鍵回到主菜單。 9)對于一個硬盤,必須設置一個活動分區后才可以引導操作系統,所以我們需要進入"2"項。 10)這是會提示用戶輸入活動分區的號碼,由于只有一個分區,就輸入"1"。 完后會在狀態欄中顯示一個"A",表示此分區為活動分區。 11)一個硬盤只能有一個主分區,因此如果現在要劃分剩下的硬盤空間就必須建立擴展分區,回到主菜單后選擇"2"。 12)程序會提示用戶輸入擴展分區的大小。 13)擴展分區建立完成后,會顯示主分區和擴展分區的相關資料,按ESC鍵?!?14)這時會提示沒有邏輯盤的信息,你可以將整個擴展分區劃分成一個邏輯盤,或者分成幾個邏輯盤?,F在可以輸入第一個邏輯盤的大小,然后回車。 15)這時會顯示第一個邏輯盤的相關信息,并且要求你輸入第2個邏輯盤的大小。 16)完成后即可按ESC鍵退回到主菜單。 17)這時在按ESC退出FDISK再重新啟動,就可以對分區進行格式化了。 如果是對已經分好區的硬盤進行重新分區,那么在主菜單時就必須先進入第三項將分區刪除后才能進行。 用FDISK進行硬盤分區 分區從實質上說就是對硬盤的一種格式化。當我們創建分區時,就已經設置好了硬盤的各項物理參數,指定了硬盤主引導記錄(即MasterBootRecord,一般簡稱為MBR)和引導記錄備份的存放位置。而對于文件系統以及其他操作系統管理硬盤所需要的信息則是通過之后的高級格式化,即Format命令來實現。用一個形象的比喻,分區就好比在一張白紙上畫一個大方框。而格式化好比在方框里打上格子。安裝各種軟件就好比在格子里寫上字。(見圖8)可以看得出來,分區和格式化就相當于為安裝軟件打基礎,實際上它們為電腦在硬盤上存儲數據起到標記定位的作用。進行硬盤分區,我們最常用的軟件是FDISK.com。下面,我們就FDISK的一些功能和使用做一番比較詳盡地介紹: 我們以Win 95為例(Win 98和95大致上基本一致),用啟動盤啟動計算機,在A盤根目錄下輸入"Format";屏幕上出現信息問你是否要啟用FAT32支持,回答"Y"會建立FAT32分區,回答"N"則會使用FAT16,決定以后按Enter鍵。大家要記住一點,早期的WIN95及DOS并不能識別FAT32結構。如果你想要安裝此類系統的話,還是選擇FAT16為好。但選擇FAT16后,每個分區不能大于2GB。在這里,我們選擇FAT16。 這時候,屏幕上將會顯示以下4個選項 1. 建立DOS分區或邏輯分區 2. 設置活動分區 3. 刪除分區或邏輯分區 4. 顯示分區信息 5. 如果你安裝有不止一塊硬盤,系統還會出現有第5項(Change current fixed disk drive)。 建立主分區 這里,缺省的選項是"1"。如果你的硬盤還沒有建立過分區的話,直接按ENTER鍵即可。然后,在圖11所示對話框中選擇"建立主分區(Primary Partition)",選擇"1"再按下Enter鍵。這時,系統會詢問你是否使用最大的可用空間作為主分區,缺省的回答是"Y",你只要直接按下Enter鍵即可。當然,當程序問你是否要使用最大的可用空間作為主分區時,你也可以回答"N"然后按Enter鍵。這時,系統會要求你輸入主分區的大小,輸入以后按Enter鍵。這時,系統將會自動為主分區分配邏輯盤符"C"。然后屏幕將提示主分區已建立并顯示主分區容量和所占硬盤全部容量的比例,此后按"Esc"返回FDISK主菜單。 建立擴展分區 在FDISK主菜單中繼續選擇"1"進入 "建立分區菜單" 后再選擇"2"建立擴展分區,屏幕將提示當前硬盤可建為擴展分區的全部容量。此時我們如果不需要為其它操作系統(如NT、LINUX等)預留分區,那么建議使用系統給出的全部硬盤空間,此時可以直接回車建立擴展分區,然后屏幕將顯示已經建立的擴展分區容量。 設置邏輯盤數量和容量 擴展分區建立后,系統提示用戶還沒有建立邏輯驅動器,此時按"Esc"鍵開始設置邏輯盤,提示用戶可以建為邏輯盤的全部硬盤空間,用戶可以根據硬盤容量和自己的需要來設定邏輯盤數量和各邏輯盤容量。設置完成后,此時屏幕將會顯示用戶所建立的邏輯盤數量和容量,然后返回FDISK主菜單。 激活硬盤主分區 在硬盤上同時建有主分區和擴展分區時,必須進行主分區激活,否則以后硬盤無法引導系統。在FDISK主菜單上選擇"2"(Set active partition),此時屏幕將顯示主硬盤上所有分區供用戶進行選擇,我們的主盤上只有主分區"1"和擴展分區"2",當然我們選擇主分區"1"進行激活,然后退回FDISK主菜單。 一切結束以后,退出FDISK程序。繼續按"Esc"鍵退出至屏幕提示用戶必須重新啟動系統,必須重新啟動系統,然后才能繼續對所建立的所有邏輯盤進行格式化(Format)操作。 注意事項:在建立分區時,以下幾點是值得您注意: 1.主分區和邏輯分區 主分區的特性是在任何時刻只能有一個是活動的,當一個主分區被激活以后,同一硬盤上的其他主分區就不能再被訪問。所以一個主分區中的操作系統不能再訪問同一物理硬盤上其他主分區上的文件。而邏輯分區并不屬于某個操作系統,只要它的文件系統與啟動的操作系統兼容,則該操作系統就能訪問它。 主分區和邏輯分區的一個重要區別是:每個邏輯分區分配唯一的驅動器名(盤符),而在同一硬盤上的所有主分區共享同一個驅動器名,因為某一時刻只能有一個主分區是活動的。這就意味著某一時刻只能用共享驅動器名訪問活動的那個主分區。系統支持多達24個邏輯分區,這樣,可能有許多人都會有這樣一個錯誤的認識,那就是在對硬盤進行分區時最好多創建幾個邏輯分區,這樣可以避免出現問題的分區影響到保存在其他分區中的數據。但是事實往往并非如此,一個被損壞的分區往往會導致整個硬盤無法正常使用。我們已經在前面提到過主分區和擴展分區的信息都是被保存在MBR中,如果由于某種原因使MBR受到破壞,硬盤主分區將無法使用,進而使包含操作系統的啟動盤也無法使用。 是也許有人會認為邏輯分區的信息并不保存在MBR中,因此邏輯分區并不會受到任何影響。其實我們忽略了這樣一個事實,那就是雖然邏輯分區的信息保存在擴展分區內,但是擴展分區的信息卻是被保存在MBR中。這樣,通過相互之間的作用,使邏輯分區最終也不能免受影響。不過一般情況下,一個分區受到損壞而其他分區仍然可以正常工作。例如,如果一個邏輯分區出現問題,很多時候其他的邏輯分區以及主分區和擴展分區都不會受到任何影響。但是話又說回來,出現問題的分區往往就是那些使用最頻繁的分區,也就是MBR。 2.驅動器名的分配   啟動系統時,活動分區上的操作系統將執行一個稱為驅動器映像的過程,它給主分區和邏輯分區分配驅動器名。所有的主分區首先被映像,而邏輯分區用后續的字母指定。一般來說,主分區將被定義為C,然后,系統會根據邏輯分區的多少依次給出D,E。。。。直到Z。當然,如果你有不兩塊硬盤的話,情況又會發生一些變化。我們舉例說明,我們將每塊硬盤都分為兩個區,第一個硬盤的第一分區為主分區(盤符C),則第二個硬盤的第一分區為D,第一個硬盤的第二分區為E,第二個硬盤的第二分區為F。 3.容量的分配 要分割成幾個分區以及第一個分區所占有的容量,取決于使用者自己的想法,有些人喜歡將整個硬盤規劃單一分區,有些人則認為分割成幾個分區比較利于管理。例如,分割成兩個分區,一個儲存操作系統文件,另一個儲存應用程序文件;或者一個儲存操作系統和應用程序檔案,另一個儲存個人和備份的資料。至于分區所使用的文件系統,則取決于你要安裝的操作系統。一般來說,主分區由于經常會進行數據 的交換,因此容量不宜太小。其他的分區的大小分配則完全取決于個人喜好了。   分區建立完了,接下去,我們應該查看一下具體的分區內容,做到心中有數。在FDISK主界面上,按"4",回車。A區顯示了當前的分區情況,B區顯示了硬盤的總容量,C區則進一步詢問你是否要顯示詳細的邏輯分區情況。 我們一部分一部分的來分析。如圖15所示,在分區信息中: ①第一行是當前的硬盤號,因為只有一個硬盤,所以硬盤號為1。下面幾行是分區信息。 ②第一欄是當前分區,有1,2兩部分,分別表示基本分區和擴展分區。 ③第二欄是狀態。A表示是活動分區。 ④第三欄是分區類型,C為PRI DOS,即基本分區,下面這個是EXT DOS 即擴展分區。 ⑤第四欄是硬盤卷標,它就好像我們給每個分區起的名字。 ⑥第五欄是分區的大小,用多少兆字節(Mbytes)來表示。 ⑦第六欄是系統文件分配表類型,顯示FAT16。 ⑧最后一欄是基本和擴展分區占總容量的比例。 接下來我們再來看B區中的硬盤的容量,中表示"硬盤的總容量為4126M",即通常我們所說的4.3G的硬盤。 這時候,系統會詢問是否查看擴展DOS分區的信息,選"Y"則進入下一項。 因為只有一個擴展分區,所以只有D、E盤的信息顯示出來,雖然現在擴展分區分成了兩個邏輯分區,但我們只能將邏輯分區叫做D、E盤,而不能稱這個擴展分區為D、E盤。這里顯示按ESC鍵繼續。 至此,分區的建立算是完成了。如果你對現行的分區不滿意,你可以將分區刪除后重新來。在建立分區時,我們遵循的步驟是: 建立基本分區-> 建立擴展分區à 分成一個或幾個邏輯分區;而我們在刪除分區時則需要遵循以下原則: 刪除邏輯分區-> 刪除擴展分區-> 刪除基本分區 分區的刪除 刪除邏輯分區,進入FDISK主界面。選擇3,回車。選擇了刪除分區選擇后,又出現下一級子菜單,包括如下內容: 1、刪除主DOS分區。 2、刪除擴展DOS分區。 3、刪除擴展分區中的邏輯分區。 4、刪除非DOS分區。 關于刪除分區的順序,我們在上文中已經提到過,這里就不再重復了。需要補充的是,如果你的硬盤上有非DOS的分區,則應先將它刪除,再刪除邏輯分區。 這里,我們直接從刪除邏輯分區開始。選擇"3"按下回車。下面就開始刪除了!系統會用一個不斷閃動的"WARNING!"提出警告,同時提示你輸入要刪除的邏輯分區號。輸入E,再回車。 這時候,系統提示輸入E分區的卷標號,按屏幕上方的顯示輸入卷標。   如果沒有,就直接回車跳過。系統會再提示確認,輸入Y回車,E分區就被刪除了?! ⊥瑯游覀儎h除D分區,接著系統提示擴展分區中所有邏輯區均被刪除。 刪除完了邏輯分區,我們再回到主界面,刪除完邏輯分區后就要刪除擴展分區了,這時還要選擇3; 這時進入刪除界面。然后選2,"刪除擴展DOS分區"。 按提示輸入"Y",回車。擴展分區就被刪除了。刪除后如圖27所示。 刪除完擴展分區后就要刪除基本DOS分區了,按ESC返回。選第1項"刪除基本DOS分區"。 與其他分區的操作步驟一樣,還要輸入卷標、輸入"Y"確認后回車,基本分區就被刪除了。到這里,刪除分區的工作就完成了。 刪除完成后,我們再次查看分區的情況,屏幕會顯示當前硬盤還沒有分區. 現在,硬盤又恢復到初始的狀態下了。如果你對上次的硬盤分區不滿意,現在又可以重新開始了,不過,還應該多思考思考,成熟了再動手呦. 看了前面的文章,相信大家對DOS的基礎操作以有了一個較深的印象了吧。但光掌握以上的這些內容是遠遠不夠的,解決電腦問題,最主要的還是能夠將學到的死知識轉化為自己可以熟練使用的兵器。當然,這也不是一朝一夕就可以達到的,同時也要靠經驗的積累。下面就請大家隨我一道來看幾個實例,從中找出解決問題的關鍵和主要的思路。 故障事例: 某電腦在使用時突然停電,來電后開啟電腦,但Windows系統無法正常啟動,死機頻繁。 故障分析: 從這個原因,我們可以大致推斷:停電造成電腦非法關機而損傷磁盤文件,從而導致Windows系統受到損壞,無法正常運行。 大致操作: 從解決文件損壞這個角度出發,需要修復損壞的文件,如果損壞嚴重,也可以考慮重裝Windows。 具體操作: 1、進入DOS。由于Windows受損,只有在DOS下進行操作。在系統引導、出現"Starting Windows....."的時候按下"F8"鍵,然后再選擇"Command Prompt Only"即可進入DOS方式。為了使修復速度更快,我們可以運行Windows目錄下的"SMARTDRV.EXE"程序,這是一個加速磁盤讀取速度的緩存程序。 2、運行SCANDISK程序,必要時可以加上"/autofix"參數,這樣在第一次選擇后就可讓程序自動修復。 3、運行CHKDSK程序,查看是否還存在著問題,并可以使用"/F"進行修復。 4、運行Windows,看系統是否恢復正常。如果在啟動時提示注冊表出錯,可以重新進入DOS,在Windows目錄下運行"SCANREG /RESTORE",然后在列表中選擇一個好的注冊表文件就行了。 5、如果文件系統受損嚴重,就需要重新安裝Windows。 如果無法正常進入Windows,那需要重新安裝Windows的任務又只得在DOS下進行了。對于廣大初學者,在DOS下安裝Windows還有一定的困難,下面我就具體講解一下在DOS下的安裝。這里的安裝使用光盤啟動,若使用軟盤啟動其操作大致相同。 1、在開機進行自檢時按下"DEL"鍵從而進入BIOS設置,在"BIOS FEATURES SETUP"的"Boot Sequence"將"CDROM"一項設置在最前面;按"ESC"鍵退到主畫面,按"F10"鍵,并輸入"Y",即可存盤退出。 2、在開機前將系統啟動盤放入光驅。 3、在啟動后的啟動菜單中選擇"啟動并使用光驅(With CDROM)",大家也可以選擇啟動后自動運行Windows98的安裝程序,但那樣并不和我意,安裝過程將十分漫長,所以在安裝前我們需要運行"SMARTDRV.EXE"。 4、進入DOS后就轉到光驅盤符,使用"DIR"命令查看目錄,然后進入Windows的安裝目錄(目錄名大都可以見名知意,一般為"Win98"、"Win"、"Windows"等)。 5、運行"SMARTDRV.EXE"。 6、運行"SETUP.EXE",回車后會進入磁盤掃描,完成后即可進入安裝,其操作就和在Windows中安裝一樣了。   看完了這兩個最常見的問題,你是否有所收獲?主要大家將基礎的東西掌握后,面對問題不慌不亂,仔細思考分析,能從其它的故障中不斷總結經驗,你也很快會成為一個電腦高手。另外,多幫助他人解決問題也能使你獲得更多的鍛煉機會,增加自己的知識面,從而可以積累更多、更好的資本。

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

            ?????? 就是不會用命令行!DOS下面,這個挺煩人!
            ?????? 生成通用的安裝程序,加油!
            posted @ 2006-09-12 14:57 小歪 閱讀(446) | 評論 (0)編輯 收藏
              2006年8月22日
            ????? 經過一個半月的忙碌和奔波,終于我在7月20號找到了實習的單位。 時間過得很快,到現在實習已經有一個月的時間了,最大的感觸就是生活充實了。 在公司里,同事們都非常和氣,尤其是我的頂頭上司,脾氣超好,經常被我一些幼稚的問題笑倒,而我也漸漸的大膽起來,經常開玩笑,感覺工作很高興!當然最重要的是工作,這一個月我學到了學多以前根本沒想到的知識,這讓我很激動,也一直激勵著自己努力啊,這些可都是好東東??!哈哈!希望盡快的學習,盡快的完成任務!繼續努力!
            posted @ 2006-08-22 19:51 小歪 閱讀(495) | 評論 (1)編輯 收藏
            僅列出標題  下一頁
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            Welcome!

            常用鏈接

            留言簿(1)

            隨筆檔案

            相冊

            收藏夾

            搜索

            •  

            最新評論

            閱讀排行榜

            国产精品熟女福利久久AV| 亚洲欧美成人综合久久久| 国产成人精品久久亚洲| 亚洲欧美精品一区久久中文字幕| 亚洲欧美一级久久精品| 九九久久自然熟的香蕉图片| 欧美激情精品久久久久| 99久久夜色精品国产网站 | 久久婷婷国产剧情内射白浆| 久久香综合精品久久伊人| 久久强奷乱码老熟女网站| 国产成人精品久久| 国产精品免费久久久久影院 | 国产午夜电影久久| 亚洲精品高清国产一线久久| 国产精品久久久久久久久鸭 | 国产91色综合久久免费| 亚洲国产视频久久| 久久无码精品一区二区三区| 国产精品一久久香蕉国产线看观看| 久久国产高清一区二区三区| 国产精品一久久香蕉国产线看观看| 亚洲国产精品无码久久久久久曰| 99久久无色码中文字幕| 久久久久久国产精品无码下载 | 久久久久久久免费视频| 久久久WWW成人免费精品| 国产精品一区二区久久精品| 亚洲国产欧美国产综合久久| 久久国产亚洲精品| 国内精品伊人久久久影院| 久久久这里有精品中文字幕| 久久久黄片| 久久精品夜色噜噜亚洲A∨| 国产精品成人无码久久久久久 | 久久久久国产精品三级网| 国产精品久久久99| 国产精品99久久久久久宅男| 青青青伊人色综合久久| 99久久99久久精品国产片| 国产成人精品久久综合|