Windows 2003 老樹新花說DOS階段教學 指引
命令:Defrag
命令:Freedisk
命令:Rmdirrd
命令:Expand
命令:Forfiles
命令:Inuse
命令:Recover
命令:Tasklist
命令:Taskkill
使用實戰
老樹新花說DOS
中國電腦教育報 李學昌
Windows 95發布之前,PC機的操作系統是DOS的天下。時至今日,Windows已升級至Windows 2003,DOS這個輝煌一時的操作系統早已被大多數人遺忘。但實際上,DOS在系統維護及安裝過程中仍然有著特殊的作用,DOS命令也在隨著Windows的升級而加強,比如Windows 2003中新增的命令提示符工具就達60多個!這些新增加的DOS命令在實現特定功能時,往往比Windows操作更簡潔、更有效!為了讓讀者朋友能全面地了解這些強大的DOS命令及其用法, 特意為大家組織了DOS系列實戰專題,希望大家能從中有所收益。
提示:在Windows 2000/XP/2003中單擊“開始→幫助和支持”,在“搜索”后輸入“新命令行工具”,即可看到各個版本新增的命令行工具,雙擊任意一個命令可以看到它的具體用法及舉例說明。在命令提示符下,輸入不帶任何參數的命令或在命令后加上參數“/?”也可查閱到該命令的使用說明。這兩種方法得到的幫助信息不盡相同,可以相互補充。
當然,在屏幕上看遠不如打印輸出后再看的效果好,如果要打印輸出,可采用以下辦法:
1. 在命令提示符窗口右擊,選擇“標志”,然后你就可以像在文本編輯器中那樣選中內容,選中后的內容由原來的黑底白字變為白底黑字,再按一下回車鍵或單擊一下鼠標左鍵,選中的內容便會自動復制到系統剪貼板。
2. 利用Windows 2003下的新命令行工具Clip也可完成以上任務。比如:輸入“dir/﹖ | clip”可將有關dir命令的用法復制到系統剪貼板。
命令:Defrag
功能:磁盤碎片整理
語法:defrag Volume [/a] [/v][/f]
參數:[/a]參數只分析當前磁盤并提示是否應該對該盤進行磁盤碎片整理[/v]參數可以詳述分析結果。Volume指盤符,如“C:”。
實戰:在Windows下整理磁盤碎片時,如果磁盤的空閑空間少總空間的15%,程序將不能進行,如果加上參數/f(提示:在2003下也可用 “-” 代替原來的“/”),可以強制進行磁盤碎片整理。
命令:Freedisk
功能:在繼續運行下一個程序之前檢查是否存在指定數量的可用磁盤空間。
語法:freedisk [/s Computer [/u [Domain]User [/p [Password]]]] [/d Drive] [Value]
參數:“/d Drive”指定要查詢磁盤空間可用性的驅動器;“Value”檢查是否存在指定數量的可用磁盤空間,可以用字節、KB、MB、GB、TB等為單位。
對于無人值守安裝,可以在批處理文件安裝中使用 freedisk 命令,以便在繼續安裝之前檢查可用磁盤空間。
在批處理文件中使用 freedisk 命令時,如果存在足夠的空間,那么該命令返回 0,否則返回 1。我們可以利用這個返回值去控制后面程序的運行。
、 假設我們要確定驅動器 C上是否存在至少 5GB 的可用空間,在命令提示符下鍵入“freedisk /d c: 5GB”后回車即可驗證可用空間是否足夠。
、 利用該命令,我們可以為自己設計的軟件加入空間檢查功能。假設設計的軟件主執行程序,程序名是為Mysoftware.exe,默認安裝在D盤上,需要空間為500MB,F在打開記事本,輸入以下內容:
freedisk /d d:500mb
if not errorlevel 1 goto install
echo The space is not enough to install this software
goto end
。篿nstall
Start mysoftware
goto end
。篹nd
然后單擊“程序→另存為”,在“保存類型”后選擇“所有文件”,在“文件名”后輸入“X.bat”(X代表任意文件名,比如我們可以設置為Setup.bat),這樣一個名為X.bat的批處理文件就建好了。運行(雙擊之即可)它后會有什么效果呢?如果D盤的剩余空間多于500MB,安裝程序就會自動運行,否則提示“The space is not enough to install this software”,安裝程序自動退出。
命令:Rmdirrd
功能刪除目錄。Windows 2003中的Deltree命令已被Rd命令取代。
參數:在Windows 2003下,加上參數“/s”后可以刪除指定目錄和所有子目錄以及包含的所有文件;加上參數“/q”后能在安靜模式中運行(即刪除目錄前用不確認,但不能刪除包含隱藏或系統文件的目錄)。
實例:我們以修改注冊表為例,說明怎樣在電腦啟動時自動清除Temp目錄下的文件。
、傩陆ㄒ粋名為Deltemp.bat的批處理程序,程序中包含的命令行是:
rd c:windows emp /s/q
md c:windows emp
將這個批處理文件保存在C:盤根目錄下。
、诖蜷_注冊表編輯器,依次展開[HKEY_CURRENT_USER
SoftwareMicrosoftWindows NTCurrentVersionWindows ]分支,在右側窗口中右擊(如果沒有,請新建一個)“load”項目,選擇“修改”,在打開窗口中的“數值數據”下面輸入“d:deltemp.bat”,然后退出注冊表編輯器即可。
命令:Expand
功能: 展開一個或多個壓縮文件。該命令用于從安裝盤中檢索壓縮文件,修復部分系統文件。
語法: Expand source [/F:files] [destination] [/d] [/y]
參數: source——指定要展開的文件。source 可由驅動器號和冒號、目錄名、文件名或組合所組成。不能使用通配符。
/f:files——如果源文件包含多個文件,指定要提取的文件的名稱,可以對要提取的文件使用通配符。
Destination——指定提取文件或每個單獨文件的目標目錄和(或)文件名。
/d——列出 CAB 文件中包含的文件而不展開或提取。
/y——在展開或提取文件時不出現覆蓋提示。
實例:從安裝光盤(假設為D盤)的驅動程序CAB文件中提取 Msgame.sys 文件并將其復制到 C:WindowsSystemDrivers下。
expand d:i386driver.cab :msgame.sys c:windowssystemdrivers
命令:Forfiles
功能:從文件夾或文件樹中選擇要進行批處理的文件,也就是說,它能將搜索到的文件作為參數傳遞給后面的DOS命令,從而對搜索到的文件進行改名、刪除、復制等操作。與DOS下的“For…In…Do”作用類似,但功能更強大。
語法:forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}]
[{MM/DD/YYYY | DD}]]
參數:/p Path——指定搜索路徑,表明要從哪里開始搜索,默認的文件夾是當前工作目錄;
/m SearchMask——按照 SearchMask設置的文件名參數搜索文件。默認的 SearchMask 是.,即所有文件,可使用通配符(?和)。比如:.exe表示搜索所有擴展名是.exe的文件、e??.表示搜索首字符是e、主文件名只有3個字符的所有文件;
/s——在所有的子目錄中進行搜索;
/c Command——對搜索到的每個文件上實施指定的命令。帶有空格的命令字符串必須用引號括起來。默認的命令是“'cmd /c echo @file'”,即顯示全稱文件名,包括路徑、主文件名、擴展名等;
/d[{+ | -}] [{MM/DD/YYYY | DD}]——選擇日期大于或等于 (+)或者小于或等于 (-)指定日期的文件。
實例:①清除D盤下的所有擴展名是.tmp的文件,請鍵入以下命令:
forfiles /p d: /m .tmp /s /c 'cmd /c del @file'
、趯盤下的所有擴展名是.jpg的文件擴展名改為.gg:
forfiles /p d: /m .jpg /s /c 'cmd /c ren @file .gg '
、壑徊檎也@示盤目錄:
forfiles /p c: /s /m . /c 'cmd /c if @isdir==true echo @file is a directory'
該命令行可以將C盤下的所有目錄查找出來,并顯示為類似“XXXX is a directory”的格式。
命令:Inuse
功能:替換被鎖定的操作系統文件,要使替換有效必須重新啟動電腦。
語法:Inuse Replacement Destination [/y]
參數:
Replacement——指定已更新的文件名,包括完整的路徑;
Destination——指定希望替換的且位于本地驅動器上的當前已鎖定的文件,必須包括完整的物理路徑名稱;
/y——取消當 Inuse 嘗試替換該文件時將出現的確認提示。
說明:
必須用管理員組成員的身份登錄才能使用該工具。重新啟動計算機后,操作系統將在運行磁盤檢測工具之后進行文件替換。新文件(Replacement)和舊文件(Destination)只能是單個文件,不能使用通配符。
實例:
、偈褂靡迅碌倪h程文件替換現有的本地文件,請鍵入:
inuse srvmainwindows est.dll e:windows est.dll
、谌绻淮翁鎿Q多個文件,可使用批處理命令,比如一次要替換三個文件:
@echo off
inuse g:i386 est.dll c:windowssystem32 est.dll /y
inuse g:i386 est2.dll c:windowssystem32 est2.dll /y
inuse g:i386 est3.dll c:windowssystem32 est3.dll /y
shutdown /l /r /y
其中,“shutdown /l /r /y”的作用是在無需用戶干預的情況下注銷當前用戶并重新啟動電腦。
命令:Recover
功能:從損壞的磁盤中恢復可讀取的信息。
語法:recover [Drive:][Path] FileName
參數:直接指要恢復的文件的位置和名稱即可,不能使用通配符(* 和 ?),必須指定具體的文件名。如果要快速恢復多個文件,可使用批處理命令來解決。
實例:要恢復D:Fiction 中的文件 Story.txt文件,請鍵入:
recover d: ictionstory.txt
命令:Tasklist
功能:顯示本地或遠程機器上當前運行的進程列表。查看到打開的進程后,就能配合Taskkill命令來結束本地或遠程電腦上的進程。
語法:Tasklist[.exe] [/s Computer] [/u DomainUser [/p Password]] [{/m Module | /svc | /v}] [/fo {TABLE | LIST | CSV}] [/nh] [/fi FilterName [/fi FilterName2 [ ... ]]]
參數:
/s Computer——指定遠程計算機名稱或 IP 地址(不能使用反斜杠,其實它相當于指明路徑)。默認值是本地計算機;
/u DomainUser——以 User 或 DomainUser 指定的用戶賬戶權限運行命令。默認值是當前登錄發布命令的計算機用戶具有的權限。其中Domain表示工作組,User表示用戶名;
/p Password——指定 /u 參數中指定用戶賬戶的密碼;
/m Module——列出與給定模式名稱匹配的加載了 DLL 模塊的所有任務。如果未指定模塊名稱,該選項將顯示每個任務加載的所有模塊;
/svc——不間斷地列出每個過程的所有服務信息;
/v:指定顯示在輸出結果中的詳細任務信息。要在沒有截斷的情況下查看完整的詳細輸出,請與 /svc 參數一同使用;
命令:Taskkill
功能:結束一個或多個任務或進程?梢愿鶕M程 ID 號或進程名來結束進程。
語法:Taskkill [/s Computer] [/u DomainUserName [/p Password]] {/fi FilterName [{/pid ProcessID | /im ImageName}] | /pid ProcessID | /im ImageName} [/f] [/t]
參數:/s、/u、/p的意義與 tasklist相同。
/fi FilterName——指定將要終止或不終止的進程的類型;
/pid ProcessID——指定將終止的進程的ID號;
/im ImageName——指定將終止的進程名稱,可使用通配符 (?和);
/f——指定將強制終止的進程。對于遠程進程可忽略此參數,所有遠程進程都將被強制終止。
實例:
Taskkill /s jsj4 /f /im notepad.exe
強行終止遠程計算機jsj4上已打開的記事本程序。
在本系列前面的7期文章中,我們掌握了一些Windows 2003中新增加的DOS命令的使用方法。在接下來的兩期,我們就通過一些實例看看這些DOS命令的綜合運用。在本期中,我們來看看如果讓一個程序隨另一個程序的啟動而啟動。一個典型的應用是:讓殺毒軟件隨著網絡連接打開而自動運行,關閉網絡連接時,殺毒軟件自動退出。隨時關閉網絡連接還有節省網費、免遭攻擊的好處。實現方法如下:
步驟1 確定相程序的位置
默認情況下,網絡連接軟件PPPoEWin.exe和江民殺毒軟件KvXP.kxp(它的擴展名雖不是.exe或.com,但還是能運行)分別位于 C:Windowssystem32和C:KV2004下。如果你采用撥號上網,啟動它的程序是rasphone,位于C:Windowssystem32下。
步驟2 建立批處理文件
假設批處理文件名為“myPPPoE.bat”,批處理中包含以下命令行:
@echo off
Start c:windowssystem32PPPoEWin
Start C:KV2004KvXP.kxp
以后,只要運行這個批處理,網絡連接程序打開的同時,江民殺毒軟件就會自動打開。
注意:
、貹vXP.kxp必須要加上擴展名才能運行,因為它不具有DOS下的可執行文件的擴展名。
、谌绻胱孠vXP.kxp隨IE啟動而運行,只修改上述程序的第2行是不行的,因為Iexplore.exe在C:Program FilesInte.net Explorer目錄下,路徑中有空格,批處理執行時會報找不到Iexplore.exe的錯誤,可將批處理修改為:
@echo off
Path %path%;C:Program FilesInternet Explorer
Start Iexplore.exe
Start C:KV2004KvXP.kxp
提示:我們還可以讓網絡連接與殺毒軟件同時退出。只需創建一個批處理文件,包含以下內容即可:
Start taskkill /f /im KvXP.kxp
Start taskkill /f /im PPPoEWin.exe
文章來源于領測軟件測試網 http://www.kjueaiud.com/