【DOS】核心指令的好處是【容易學、容易上手】,故而我學電腦的初期至今,如果不是真的需要寫程式,隨便撰寫一個簡單的批次程序,就能解決問題了。
從批次命令之後?那就是 VBA 和 JS 的語言。
高手是怎麼煉成的
甲兵時代批處理高級教程新編
如何開始
第一節 概述
第二節 基本結構
第三節 常用DOS命令
第二章 初級使用
第一節 標籤與跳轉命令:goto和call
第二節 條件判斷命令:If
第三節 設置命令:Set
第四節 常用批處理標點符號
第三章 中級體驗
For 命令
變量延遲
文本解析與字符串處理技術
第四章 高級追求
第一節 批處理思想
第二節 批處理編程
第三節 批處理之外
批處理編程
批處理未來
序
玩批處理有三年時間了,感覺批處理並非過時了,而是人們對它了解和利用得少。人們更喜歡去追求C、C++、Java等等之類的高級
語言,而對於批處理這種低級腳本語言則不屑一顧。雖然批處理的地位是低了點,但紮根於Windows的批處理自有它表演的舞台。
批處理是一種生活,化繁為簡,享受簡單。
批處理是一種工作,批量處理,追求效率。
批處理是一種哲學,能與不能的困境,曲徑通幽的智慧。
批處理是一些人的夢想,她來得那麼容易、那麼簡單。
批處理是一些人的朋友,她與你同行。
一直想寫個批處理教程,方便那些對DOS一無所知的人了解和學習。通過這個教程,讓你了解到批處理與DOS的聯繫和區別,了解批
處理能做些什麼,以及如何學習批處理編程。
之所以是“高級教程”,不僅僅入門,還可以進階和精通。
之所以是“新編”,採用新的視角編寫,讓你更容易了解批處理。
有人問,批處理高手是怎麼煉成的?批處理高手就是從基礎練起的。
也打算寫完這篇教程後結束自己瘋狂的批處理生活,愛批處理,更愛生活。
送給那些熱愛生活和工作的人。
甲兵時代
第一章 如何開始
本章,你將學習到批處理的含義、特性、作用、基本形式以及一些常用的Dos命令。這些都是批處理的基本常識,也是我們後面學
習的基礎。
第一節 概述
一、什麼是批處理
《一鍵清理系統垃圾》代碼:
@echo off
echo 正在清除系統垃圾文件,請稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\*.tmp
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
rd /s /q %temp% & md %temp%
del /f /q %userprofile%\recent\*.*
del /f /q %userprofile%\cookies\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清理系統垃圾完成!
echo.
見過《一鍵清理系統垃圾》這個小工具嗎?一般的Ghost系統都自帶有,只要雙擊運行,它就能自動幫你清理系統運行時產生的臨
時文件,提高系統運行速度。用記事本打開這個程序,你會發現它裡面只有十來行的代碼。真是短小精悍、功能強大。
許多人都是從這個批處理作品開始學習批處理的,要感謝作者對批處理髮展做出的貢獻。
批處理是一種DOS命令腳本。 DOS命令,是一種面向磁盤的操作命令,主要包括目錄操作類命令、磁盤操作類命令、文件操作類命
令和其它命令,通常你會在安裝系統的時候看到它的身影。常見的DOS系統是微軟的MS-DOS系統,在Windows裡,CMD就像它的翻版
。
CMD,命令行提示符,是Windows 系統下的MS-DOS,是微軟Windows系統基於Command.com上的命令解釋程序。 Cmd.exe是一個32位
的命令行程序,運行在Windows NT/2000/XP/2003/vista/win7上。我們的批處理命令一般都可以在CMD裡執行。
無論是Dos還是Cmd,它們都以輸入命令行的方式執行任務,但每次只能輸入一行命令,無法同時輸入多行。為解決這個問題,以便
一次執行更多任務,於是發明了批處理腳本。
批處理(Batch)基於dos和cmd,以bat和com的格式,自由組織命令語言,一次性輸入多行命令,方便調用,批量執行任務。可見,
批處理要比單純的Dos和Cmd要“高級”。
二、批處理有什麼特性
1、可在大部分微軟視窗系統運行。不一定要到DOS下執行。
2、擁有Bat和Com兩種擴展名。
3、可用記事本編輯。用系統自帶的記事本你就可以查看和編輯批處理代碼了。
4、可一次輸入多行命令。似乎行數沒有限制。
5、命令逐個、逐條、逐行、逐塊依次進行。由小到大,一般而言是逐行進。
6、默認由上往下逐行執行,除非跳轉命令。
7、可使用for、if、set、call、goto等命令執行相對複雜和高級的任務。
8、可直接調用基於windows系統的許多命令。
9、可藉用許多外部命令,包括第三方,進行擴展。
三、批處理有什麼用
1、磁盤操作——DOS下面向磁盤的命令操作。 DOS的原始使命,包括移動、拷貝、刪除文件,分區、格式化等等,在DOS下安裝系
統的時候經常用到。
2、系統操作——Windows下面向磁盤和系統的操作。包括批量重命名、搜索文件等對文件的操作,也包括對windows系統的操作,
比如開啟和停用服務、查看進程、關機、刪除臨時文件等等。
3、安全防護。用來殺毒、防毒。當然也可編寫病毒。
4、網絡操作。包括各種聯網、攻防等等。
5、辦公編輯。主要用於具體的工作實際中,提高工作效率。
6、娛樂遊戲。批處理也可以製作一些簡單的遊戲,特效來達到娛樂目的。
7、工具輔助。在其它程序或語言中利用批處理來做第三方,如PS圖片批處理。
批處理適合在windows下執行一些相對自由的、簡單的、重複的工作。比如上面提到的清理系統臨時文件,你可以手動清理,但每
次都手動你會覺得十分麻煩;你也可以使用其它exe程序執行,但你得下載安裝,可能還不放心是否含有惡意插件;如果使用批處
理,你可以自己編寫,就十來行代碼,方便、簡單、安全,但功能毫不遜色。
化繁為簡,批量處理,這就是批處理的靈魂。
第二節 基本結構
一 創建與編輯批處理
(一)基本形式
DOS命令沒有什麼頭部可言,因為一個完整的DOS命令只有一行。但批處理不止一行,它可能有幾十行、幾百行,甚至上千行。一般
地,批處理有一個基本的結構,包括頭部、主體和尾部。
下面是一個最簡單的批處理:
@echo off
Echo 我愛批處理
Pause
(二)編輯方式
運行的方式是:
把以上代碼複製到一個新建的記事本中,另存為(所有文件)“批處理.bat”,雙擊運行即可。
或:
把代碼複製到記事本,保存,然後把文件名改為“批處理”,後綴名改為“bat”,雙擊運行即可。
還可以用cmd的方式:
先把代碼複製到記事本中保存,然後把它拷貝到 D 盤下,路徑名為:D:\批處理.txt
開始——所有程序——附件——命令提示符——輸入“ren D:\批處理.txt 批處理.bat”——回車即可。
或:
在cmd裡逐條運行以下命令:
echo ^@echo off>批處理.bat
echo Echo 我愛批處理>>批處理.bat
echo Pause>>批處理.bat
編輯的方法是:
在批處理文件(.bat)上點右鍵,選擇“編輯”。或者用記事本直接打開。
運行結果是:
“我愛批處理
請按任意鍵繼續. . .”
二、命令解釋
(一)@echo off
該命令的作用是,關閉後面所有命令的回顯,包括關閉該命令自身的回顯。
1、回顯
回顯,在運行批處理程序時,MS-DOS一般在屏幕上顯示(回顯)批處理程序中的命令,以及該命令的過程和結果。你輸入一個命令
,然後給你返回個值,顯示在屏幕上。使用ECHO命令可關閉此功能。
2、ECHO的用法分類
Echo,回顯,在屏幕上顯示信息;把你想顯示的內容顯示(打印)到批處理窗口(cmd.exe)上。
當程序運行時,顯示或隱藏批處理程序中的正文。也可用於允許或禁止命令的回顯。
1)用ECHO命令顯示信息:ECHO message
當ECHO被關閉時,ECHO message命令很有用。若要顯示一若干行長的信息而不顯示其它命令,可在批處理程序中先執行ECHO OFF命
令之後,再執行若干個ECHO message 命令。
命令格式:echo 顯示文字
如:Echo 我愛批處理
2)隱藏和打開命令提示(回顯):ECHO ON/OFF
如果在命令行中使用了ECHO OFF命令,則在屏幕上將不顯示命令提示。若要重新顯示命令提示,只需鍵入ECHO ON即可。
設置回顯:echo+空格+[on/off]
查看回顯狀態:echo
可以將上面批處理第一行的“@echo off”改成“@echo on”,比較一下。沒有使用“@echo off”命令時,屏幕上顯示了許多內容
,看著眼花繚亂,使用“@echo off”後,屏幕多餘的信息被屏蔽,屏幕看起來乾淨好多。這就是“@echo off”的作用——關閉後
面所有命令的回顯。
其實,那些眼花繚亂的信息並非多餘,它是命令執行的過程和結果反饋,可以用來檢查代碼,只是通常我們沒必要看它而已。假如
我們想檢查我們的命令執行過程和結果是否存在問題,我們可以不關閉所有回顯(@echo off),或者使用““@echo on”打開所
有回顯。當然還可以使用返回碼、&&、 ||、IF 等等方式做判斷。
3)禁止MS-DOS回顯一行:@
在一批處理程序中的某一命令前可以插入一"@"字符,禁止MS-DOS回顯此行。
"@"屏蔽它後面一個命令的回顯;
如果要關閉ECHO而又不回顯ECHO命令本身,則在命令前加一"@"符即可。即“@echo”。
4)回顯(顯示)一空行:echo.
若要在屏幕上回顯一空行,可輸入ECHO及一個圓點(ECHO.),但其間不能加入空格。
也可以寫成:(echo;)、(echo/)、(echo\)。
注意:後面所有談到與命令一起組合使用的標點符號(如分隔符等)均指英文狀態下的半角符號,而非中文狀態下的全角符號。
單獨使用“echo”而後面沒有任何字符串(標點符號、英文漢字等等)時用於查詢回顯狀態,它會反饋“ECHO 處於打開狀態。”
或關閉這類信息。
單獨使用“echo;”或“echo,”則顯示一個空行。
在回顯變量中使用,如在FOR中用“echo;%%a”,可以防止出現一大堆的“ECHO 處於打開狀態。”
5)顯示管道及重定向字符
ECHO命令不能顯示管道(|)或重定向字符(<或>)。
以下是錯誤的:
echo |
echo >
echo < echo & 解決的辦法是使用轉義符(^),轉義符的作用是將用作命令的字符轉變為普通字符。 以下可以正確顯示該標點符號: echo ^| ^& ^> ^< echo echo;^>123.txt>test.txt
6)顯示系統變量
echo %time%
echo %date%
echo %temp%
echo %SYSTEMDRIVE%
echo %cd%
3、ECHO的綜合運用
看例子:
@echo off
Rem 設置關閉後面所有行的命令的回顯
Echo
rem 錯誤行
echo %date% %time%
Echo 救 贖
Echo ——我已遺失我的靈魂
Echo 放下其它工作,享受音樂,享受人生
Echo 停止播放請按【Q】鍵後稍等一下
Echo 愛批處理,更愛生活
Echo 甲兵時代,傾情鉅獻
rem 顯示文字
Echo.
Echo;
Echo/
Echo\
rem 顯示四個空行
Pause
注意:
Rem命令是註釋命令,用來方便閱讀和理解代碼的,不會執行和顯示出來。除了Rem ,通常還可以用兩個或兩個以上的冒號
如“::::”來註釋代碼。也可以將rem命令改成echo,以便在屏幕上顯示出來。可以刪除Rem而不影響代碼的主要功能
思考:為何運行後第一行會顯示“ECHO 處於關閉狀態。”?如何修改?
4、其它屏蔽回顯的方法
可使用重定向符輸出到空設備(>NUL)屏蔽回顯。
命令成功執行了,它會返回一個成功的信號,執行失敗了它會返回一個失敗的信號。如果我不想看到這些信號,我們就要將它們關
閉和屏蔽掉。除了上面的方法外,還可以使用重定向符號“>”。通常批處理執行的過程和結果都會顯示(打印)在顯示器的屏幕
上,但重定向符可以將輸出信息輸入到其它硬件上,比如空設備(nul)。它有三個用法:
第一:>nul
將輸出信息發送到空設備中,也就是不顯示結果。把它添加到一些命令後面,你將看不得命令的輸出。如:
Echo 我愛批處理>nul
運行後,在屏幕上你將看不得“我愛批處理”這行字。
第二:>nul 2
將運行失敗的信息發送到空設備中,屏蔽命令運行失敗時的反饋信息。有些命令(如del)成功執行時可以用“>nul”屏蔽掉反饋
信息,但運行失敗時單純使用“>nul”無法屏蔽。
第三:>nul 2>nul
不管命令運行成功與否都屏蔽輸出信息,不想看到任何反饋結果時用,比較強大。對比一下看:
echo 甲兵時代1
@echo off
echo 甲兵時代2
Del cjiabing1
pause
Del cjiabing2>nul 2>nul
Pause
假如找不到cjiabing這個文件,這個刪除命令就會運行失敗,提示“找不到……”
思考題:如何屏蔽掉pause產生的這行字“請按任意鍵繼續. . .”?
(二)Pause
暫停批處理程序的執行並顯示一條消息,提示用戶按任意鍵繼續執行。
打開“開始”菜單,單擊“運行”,輸入“cmd”,確定打開CMD。
在cmd窗口輸入“Pause/?”,回車,得到以下內容:
“暫停批處理程序,並顯示以下消息:
請按任意鍵繼續. . .”
批處理中假如不使用pause命令,ECHO後面的文字信息就無法正常顯示出來。
思考題:
寫一個批處理,顯示李白的《靜夜思》:
靜夜思 李白 床前明月光,疑是地上霜,舉頭望明月,低頭思故鄉
要求關閉所有命令的回顯,並且行與行之間用一個空行隔開,將“請按任意鍵繼續. . .”屏蔽掉,使得屏幕看起來乾淨。
三、批處理的結構
(一)批處理頭部(head)
在普通的批處理當中,都會用到“@echo off”這組命令。它一般處於批處理的第一行,用於關閉後面所有命令的回顯(當然有些
無法用它關閉),它是一個通用的批處理頭部。
下面是一些常用的批處理頭部:
@echo off
rem 關閉後面所有命令的回顯。
Setlocal EnableDelayedexpansion
rem 打開變量延遲。在使用到變量延遲時打開,一般不需使用。
::Code by Cjiabing 2010-10-10 CMD@XP
::From 甲兵時代: http://hi.baidu.com/cjiabing
::正在測試批處理頭部代碼,注意觀察。
rem 【::】代碼編寫信息。包括作者、寫作時間、適用系統,出處和說明等。
Title 批處理頭部
rem 【title】設置批處理標題名稱(進程窗口名稱)。
MODE con: COLS=38 LINES=14
rem 【mode】設置批處理窗口大小。一般不需使用。
COLOR 3c
rem 【color】設置批處理顏色。一般不需使用。
Pause
以上只是一些常見的批處理頭部的組合,在一些批處理作品創作中用得較多。實際上,除了第一行,其它的用得很少,即使使用也
是挑選必要的使用,並非每個命令組在每個批處理中都使用。在某些臨時的批處理當中,甚至沒有批處理的頭部、尾部的說法,只
有執行任務的命令本身。
對於初學者和測試員而言,批處理最經典的頭部就是“@echo off”和““@echo on”
(二)批處理的主體(body)
批處理的主體就是執行任務的命令和命令組。可以是單個命令,也可以是一組命令。它是執行任務的直接目的和主要功能,是整個
批處理命令過程的主體。
比如前面的代碼:
@echo off
rem 這個是為了屏蔽輸出反饋信息的,不是直接目的和主要功能。
Echo 我愛批處理
rem 這個是我們為實現顯示“我愛批處理”這個直接目的的主要功能。
Pause
rem 這個是為實現直接目的所需的輔助功能。
在復雜的批處理當中,往往需要標籤和跳轉命令,這些內容將在後面學習。
(三)批處理的尾部(tail)
主要是指批處理的退出,包括退出批處理腳本和結束cmd.exe進程。批處理在遇到goto :eof,pause等具有停止功能的命令時停止
,否則都會自動退出。退出批處理的模式有:
1、自動退出。只要後面沒帶有其它停止功能的命令,並且批處理如果發生錯誤不是進入cmd的,一般都會自動退出。
2、使用exit退出。一般使用exit命令會退出批處理和cmd窗口,但如果使用“exit /b”的話僅退出當前批處理而不退出cmd.exe窗
口。
3、使用goto :eof。沒有相應的call調用標籤、遇到goto :eof時會退出。
4、使用錯誤的命令使其自動退出。測試代碼時經常出現由於代碼錯誤而自動退出的情況。
(四)批處理自身(itself)
批處理自身的表示,通常使用以下代碼中的某個:
%0 表示自身的完整路徑(即批處理自身,包含驅動器、路徑、文件名和後綴名)
%~dp0 ##顯示自身路徑
%~n0 ##文件名
%~d0 ##驅動器
%~p0 ##路徑
%~f0 ##完全合格路徑名
%~x0 ##擴展名
%~s0 ##路徑只含短名
%~a0 ##文件屬性
%~t0 ##文件日期
%~z0 ##文件大小
%~t0 ##文件日期
%~$PATH:0
%* ##顯示所有拖曳到程序圖標上的文件的完全合格路徑名
%cd% 表示自身的路徑
通常是這樣理解它們的(替換變量):
%~0,表示批處理自身(路徑);
%~1,表示拖拉到窗口的第一個文件(路徑);
%~2,表示拖拉到窗口的第二個文件(路徑);
……
%~*,表示拖拉到窗口的所有文件(路徑);
至於後面的字母,表示變量擴展的類型,最後面的字母“I”是變量名:
~I - 刪除任何引號("),擴充 %I
%~fI - 將 %I 擴充到一個完全合格的路徑名
%~dI - 僅將 %I 擴充到一個驅動器號
%~pI - 僅將 %I 擴充到一個路徑
%~nI - 僅將 %I 擴充到一個文件名
%~xI - 僅將 %I 擴充到一個文件擴展名
%~sI - 擴充的路徑只含有短名
%~aI - 將 %I 擴充到文件的文件屬性
%~tI - 將 %I 擴充到文件的日期/時間
%~zI - 將 %I 擴充到文件的大小
以上擴展變量用法都要記住,方便使用。
在沒有學習變量之前,了解以上內容有點困難,但我們可以在某些情況下用到它們,比如,將批處理自身複製(copy)到C盤:
@echo off
Copy "%~0" c:\
Pause
%~0,表示自身路徑。加雙引號是為了防止自身路徑含有空格等特殊形式時命令運行失敗。
第三節 常用DOS命令
學習建議
如想進一步學習批處理,需要學習一定的dos命令做基礎,下面列出一些常用的DOS命令,要求自學。
1、大部分dos命令都可以在cmd窗口輸入命令後使用“/?”查到命令的幫助說明。比如:
Start/?
Copy/?
Del/?
……
2、涉及到文件操作的,文件路徑名含有空格等特殊形式的,最好在外面加雙引號,比如:
Start “” "C:\Program Files\TTPlayer\TTPlayer.exe"
Copy "C:\Program Files\Tencent\QQ\Bin\QQ.exe" D:\
3、初學請使用批處理的基本形式——在批處理的最開頭加“@echo off”,在批處理的最後或有錯誤的地方加“pause”。如:
@echo off
Echo 打開千千靜聽
Start “” "C:\Program Files\TTPlayer\TTPlayer.exe"
Echo;
Pause
4、最後在系統盤外自建一個文件夾用於批處理學習,在學習像刪除(DEL)等較為危險的命令時最好新建文件來測試。
一、文件夾(目錄)操作命令
文件夾操作的命令較少,先從這個開始。
(一)創建文件夾:MD(MkDir)
如:在當前位置新建一個文件夾,命名為“mymusic”
md mymusic
如在 F 盤新建一個名為“我喜歡的電影 國產”的文件夾:
md "f:\我喜歡的電影 國產"
路徑含有空格時外面要用雙引號。
(二)刪除文件夾:RD(Rmdir)
如:rd mymusic
假如目錄內有其它文件,單純使用 rd 命令是無法刪除的,此時要用到參數s和q:
rd /s /q "f:\我喜歡的電影 國產"
/s:刪除目錄內的所有文件夾和文件。
/q:不用提示,自動刪除。安靜模式。
(三)搜索文件夾:
1、for /d
這是一個FOR命令,第三章將學習,暫歸納於此。
搜索目錄:c:\windows
for /d %%a in (c:\windows) do echo %%a
2)dir /a:d
dir /a:d c:\
(四)判斷是否文件夾
if exist c:\windows\. dir /a:d c:\windows>nul 2>nul&&echo c:\windows是文件夾
了解:假如存在(if exist)文件夾c:\windows,搜索文件夾(dir /a:d),無論成功與否都屏蔽回顯(>nul 2>nul),假如前面
的命令成功執行則執行後面的命令(&&)——顯示“c:\windows是文件夾”。
(五)改變當前目錄:CD(chdir)
在cmd下試驗:
cd ..
返回上一層目錄(文件夾)。
cd \
返回盤符(驅動器)。
cd windows
進入C盤的windows文件夾。
cd /d d:\
進入了 D 盤。
1、鍵入 CD 驅動器: 顯示指定驅動器中的當前目錄。
cd f:
2、不帶參數只鍵入 CD,則顯示當前驅動器和目錄。
cd
批處理中可以使用變量形式查看當前目錄,如:
echo %cd%
3、使用 /D 命令行開關,除了改變驅動器的當前目錄之外,還可改變當前驅動器。
cd /d e:
注意:一般進入某個目錄直接使用“CD 目錄路徑”,但,從一個目錄跳轉進入另外一個目錄時,需使用參數 D,這種情況是經常
發生的。
以下是一個從C、D、E、F四個盤搜索QQ.EXE的命令,用到“CD /D”:
for %%a in (c: d: e: f:) do if exist %%a cd /d %%a\&for /r %%i in (QQ.exe) do echo %%i
了解:逐個(for)判斷(if exist)是否存在C、D、E、F盤,存在則進入(CD),並(&)搜索QQ.exe文件並顯示出來。
如果沒有其他特殊情況,直接使用 cd /d 代替 cd 也不錯。
4、如果擴展命令名被啟用,CHDIR 會如下改變:
第一、當前的目錄字符串會被轉換成使用磁盤名上的大小寫。
第二、CHDIR 命令不把空格當作分隔符,因此有可能將目錄名改為一個帶有空格但不帶有引號的子目錄名。
(六)查看目錄命令:tree
C:\>tree/?
以圖形顯示驅動器或路徑的文件夾結構。
TREE [drive:][path] [/F] [/A]
/F 顯示每個文件夾中文件的名稱。
/A 使用 ASCII 字符,而不使用擴展字符。
tree可以生產很漂亮的圖形目錄結構。試試以下命令:
tree c:
再試試:
tree /f c:
或者把結果寫入文件中:
tree /f c:>123.txt
二、創建(寫入)文件命令:>
1、重定向符
“>”,是一個重定向符,把本來在屏幕上顯示的信息重新定向輸出到其它設備上。前面用“>nul”來表示將回顯等信息輸出到空
設備以達到屏蔽回顯的目的,下面介紹將信息輸出(重定向)到文本(TXT)等文件中。主要針對txt、bat等文字編輯類型的文件
。
2、用法
>,表示清除重寫;
>>,表示繼續往下寫,寫得更多,不清除。
假如文件不存在,兩者都將自動創建文件。
一般與echo等命令搭配使用。當然也可以直接用在有信息輸出的命令後面如:dir>test.txt。
echo 我愛批處理>test.txt
把“我愛批處理”這句話寫入文本文件test.txt當中。
echo 我愛批處理>test.txt
echo 我愛北京天安門>>test.txt
echo 我愛電影>>test.txt
把“我愛批處理、我愛北京天安門、我愛電影”三行字寫入文本文件test.txt當中。
3、創建空文本。只是創建文本,不寫入內容:
echo;>test.txt
一般認為“cd.>”能創建0字節的空文本文件,建議使用:
cd.>test.txt
4、創建其它類型文件:
cd.>test.bat
cd.>test.com
三、打開文件命令:start
start,啟動另一個窗口(新進程)運行指定的程序或命令。是一個較複雜的命令,下面介紹常用的用法。
(一)常用的打開方式:start "title" 路徑名
1、"title" ,在窗口標題欄中顯示的標題,在常見的用法中都需要保留一對空的雙引號。
2、路徑名含有空格的外面要加雙引號。
如:start "" c:\test.txt
(二)參數 B:在不創建新窗口的情況下開始應用程序。
應該是針對cmd和bat這類文件而言,像MP3、exe這些應該不得。
start /b "" d:\BatMPlayer V6.4.bat
功能類似於Call,直接調用文件。不過只能將值傳入程序,不能將程序結果返回。
可以打開雙進程,實現一些像“按任意鍵不需回車就退出”的功能。
start /b "" %ComSpec% /c "start /b /wait "" "靜靜的雪 - 班得瑞.mp3"&echo .>"%temp%\ryj.txt""
if exist "%temp%\ryj.txt" (del /f /q /s "%temp%\ryj.txt"&goto :eof)
(三)參數wait:啟動應用程序並等候它結束。
@echo off
start /wait "" "F:\adagio in c minor - 雅尼在紫禁城.mp3"
echo 播放結束
pause
批處理會首先播放MP3,一直等到MP3播放結束了,它才會顯示“播放結束”。
(四)參數 MIN 和 MAX :開始時窗口最小化和最大化。
start /min "" d:\日記.txt
運行後,日記這個文本文件只顯示在任務欄,不會彈出窗口。
start /max "" d:\日記.txt
運行後,日記這個文本文件會全屏最大化顯示窗口。
但這兩個功能並非每次有效。
(五)參數 I:新環境是傳遞給 cmd.exe 的原始環境,而不是當前環境。
不好理解,但如果你需要在start一個新cmd.exe後,希望該獲得有關的返回結果,需要用i參數。
(六)打開網頁:
1、start "" http:\\www.baidu.com
從當前網頁跳轉到指定網頁。
2、start "" iexplore.exe http:\\www.sina.com
用IE瀏覽器打開指定網頁。
3、start "" "D:\Program Files\TheWorld 2.0\TheWorld.exe" http:\\www.baidu.com
使用指定瀏覽器(theworld)打開指定網頁,注意瀏覽器要完整的路徑名。
(七)打開其它系統程序:
資源管理程序:start "" explorer.exe F:\mp3
播放器:start "" wmplayer.exe f:\愛你一萬年.mp3
記事本:start "" notepad.exe c:\boot.ini
注意:打開系統自帶的程序一般不必使用完整路徑名,只需程序名即可。但其它程序都必須寫路徑名,並且,路徑名含有空格的要
帶雙引號。
如:用千千靜聽打開MP3:
start "" "C:\Program Files\TTPlayer\TTPlayer.exe" "f:\卡農 - 我的最愛.mp3"
四、顯示文本內容命令:type
如:
type c:\boot.ini
type test.txt
五、重命名命令:ren
命令格式:ren 原文件路徑和文件名 新文件名
@echo off
cd.>請重命名.exe
pause
ren 請重命名.exe 新文件名.exe
pause
請注意,您不能為目標文件指定新的驅動器或路徑。
把F盤下的歌曲“祝你一路順風.mp3”名改為“祝你一路順風-吳奇隆.mp3”:
ren F:\祝你一路順風.mp3 C:\祝你一路順風-吳奇隆.mp3
以上是錯誤的,正確的應該是:
ren F:\祝你一路順風.mp3 祝你一路順風-吳奇隆.mp3
六、複製命令:copy、xcopy、diskcopy
命令參數較多,請使用幫助。
一般複製用Copy就能夠解決,但如果涉及到目錄複製等較複雜的複制任務時,需要XCopy來解決。整盤複製時用diskcopy命令。
初學者可以先學copy的常用用法即可。
1、C:\>copy/?
將一份或多份文件複製到另一個位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
COPY [+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source 指定要復制的文件。
/A 表示一個 ASCII 文本文件。
/B 表示一個二進位文件。
/D 允許解密要創建的目標文件
destination 為新文件指定目錄和/或文件名。
/V 驗證新文件寫入是否正確。
/N 複製帶有非 8dot3 名稱的文件時,
盡可能使用短文件名。
/Y 不使用確認是否要改寫現有目標文件
的提示。
/-Y 使用確認是否要改寫現有目標文件
的提示。
/Z 用可重新啟動模式複制已聯網的文件。
下面介紹常用用法:
命令格式:copy 被複製的文件位置和文件名(路徑) 被複製到的位置(路徑)
將 F 盤下的歌曲“祝你一路順風-吳奇隆.mp3”複製到 D 盤:
copy F:\祝你一路順風-吳奇隆.mp3 D:
假如 D 盤已經存在同名的歌曲會提示是否替換,如果不想它提示直接替換,使用Y參數:
copy /y F:\祝你一路順風-吳奇隆.mp3 D:
參數 Y 是不用提示,直接修改。
其它參數請自學。
2、C:\>xcopy/?
複製文件和目錄樹。
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]
用法簡介:
xcopy /s F:\流行歌曲\劉德華\*.* F:\我的最愛\
會把目錄“劉德華”一起拷貝過去。
其它請自學。下面是網上的一個使用介紹帖,轉載如下:
1、如只是單純地複制 E:\ 盤上所有文件到 D:\ 盤上,就輸入“ xcopy e:\*.* d: /s /h "就行啦!如果在復製過程中,你
不要他復製文件啦!那就按鍵盤熱鍵“Ctrl " +"Pause /break" 二個熱鍵 來中斷複製。
2、如果想把E:\ 盤上所有文件複製到D:\盤上,分為今天復制一點,明天再接著複製一些,後天再接著複製一些。或者是某種
原因上次沒有復製完成,今天想接著複製。 (這種情況是經常在復製文件中出現的)那可怎麼辦才好呢? 那就輸入“ xcopy
e:\*.* d: /s /h /d /y ”就行啦。他能查出那些文件是已經復製過去啦,那些文件還沒有復製過去的。
3、當然我們也會碰到這種情況,一些文件我們已經修改過啦!網上面又有最新版本的啦。原來備份的那份文件我們要及時更
新啦。那怎麼才能同步更新呢?當然我們可以把最新的好份文件複製過去,這也是一種解決辦法。
如果修改的文件有很多的,自己到時候也記不清楚那份文件是更新過的。這麼多的原來備份的那份文件都要更新,都要復製過
去,可不是件省力氣的活,而且容易出錯和一些文件被忘記啦! 那和上面一樣也同樣輸入" xcopy e:\*.* d: /s /h /d /y "
就行啦!
編輯本段精彩舉例四
4、還有一種情況我們經常也碰到的,因為複制某個文件出錯或者這個文件在使用中,而停止了複製工作,(比如,複製C 盤上的
windows xp )我們這時候想跳過某個出錯的文件和某個正在使用中文件而繼續複製其他文件。
在多加入一個參數" /c "就是 " xcopy e:\*.* d: /s /h /d /c /y "就行啦!
5、有時候我們想XCOPY 變為自動複製,並且複製完成後關閉電腦,可以建立一個批處理文件,新建文本文檔,更名為XCOPY.BAT
當然擴展名原來是TXT 格式的要更名為BAT 在這個XCOPY .BAT 中輸入
xcopy e:\*.* d: /s /h /c /y shutdown -s
然後雙擊xcopy.bat運行它,你這時候可以出去玩啦。電腦會自己複製備份完成文件然後自動關閉電腦。
6、要從驅動器 A 將所有文件和子目錄(包括所有空的子目錄)複製到驅動器 B,請鍵入: xcopy a:b: /e
7、要包含上一示例中的任何系統或隱藏文件,請按如下所示添加 /h 命令行選項: xcopy a:b:/s /e /h
8、要使用 \Rawdata 目錄中 1993 年 12 月 29 日後更改的文件更新 \Reports 目錄中的文件,請鍵入: xcopy
\rawdata \reports /d:12-29-1993
9、要更新上例中 \Reports 中存在的所有文件,而不考慮日期,請鍵入: xcopy \rawdata \reports /u
10、如果只想獲得前一個命令要復制的文件列表,而不復製文件,請鍵入: xcopy \rawdata \reports /d:12-29-1993 /l >
xcopy.out 文件Xcopy.out 列出了要複製的所有文件。
11、要將\Customer 目錄和所有子目錄複製到網絡驅動器H: 上的目錄\\Public\Address,保留只讀屬性,並在H: 上創建新文件
時對您做出提示,請鍵入: xcopy \customer h:\public\address /s /e /k /p
12、要發出上一個命令,確保在\Address 目錄不存在時xcopy 會創建該目錄,同時應抑制顯示創建新目錄時要顯示的消息,請按
如下所示添加/i 命令行選項: xcopy \customer h:\public\address /s /e /k /p /i
七、移動命令:move
C:\>move/?
移動文件並重命名文件和目錄。
1)移動文件:
move D:\祝你一路順風-吳奇隆.mp3 E:
2)移動並重命名:
move /y D:\祝你一路順風-吳奇隆.mp3 E:\吳奇隆.mp3
八、刪除命令:DEL(erase)
C:\>del/?
刪除一個或數個文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一個或數個文件或目錄列表。通配符可被用來
刪除多個文件。如果指定了一個目錄,目錄中的所
有文件都會被刪除。
/P 刪除每一個文件之前提示確認。
/F 強制刪除只讀文件。
/S 從所有子目錄刪除指定文件。
/Q 安靜模式。刪除全局通配符時,不要求確認。
/A 根據屬性選擇要刪除的文件。
attributes R 只讀文件 S 系統文件
H 隱藏文件 A 存檔文件
- 表示“否”的前綴
一般的刪除:
del E:\吳奇隆.mp3
強悍點的刪除——可以刪除一些無法刪除的文件:
del /f /a /s /q E:\吳奇隆.mp3
注意:刪除文件夾用RD,前面介紹了。
可同時刪除多個文件,用逗號隔開,但似乎有限制:
del E:\吳奇隆.mp3,E:\祝你一路順風.mp3,E:\祝你一路順風-吳奇隆.mp3
具體可以參考《一鍵清理系統垃圾》。其它參數請自學。
其它比較危險的刪除命令和恢復命令:
1、DELTREE——刪除整個目錄命令(非常危險,初學不建議嘗試)
2、FORMAT——磁盤格式化命令(非常危險,初學不建議嘗試)
3、UNDELETE——恢復刪除命令(誤刪文件之後可以嘗試使用還原,但不是很管用)
4、UNFORMAT——恢復格式化命令(沒試過)
九、修改文件屬性命令:Attrib
Attrib/?
+ 設置屬性。
- 清除屬性。
R 只讀文件屬性。
A 存檔文件屬性。
S 系統文件屬性。
H 隱藏文件屬性。
[drive:][path][filename]
指定要處理的文件屬性。
/S 處理當前文件夾及其子文件夾中的匹配文件。
/D 也處理文件夾。
1、清除屬性:attrib -r -a -h -s
通常清理病毒之前都會這麼先清理病毒的屬性,否則無法刪除病毒:
attrib -r -a -h -s d:\Autorun.inf
del d:\Autorun.inf
如不清除文件屬性,是不能使用del、copy、move、ren等命令的。
以下命令是錯誤的,原因是沒有使用attrib去掉文件屬性,相反,它添加了隱藏、只讀等屬性,導致copy無法找到文件:
cd.>Autorun.inf
attrib +r +a +h +s Autorun.inf
copy /y Autorun.inf d:
2、添加屬性:attrib +r +a +h +s
建立免疫的辦法是:
cd.>d:\Autorun.inf
attrib +r +a +h +s d:\Autorun.inf
但實際上,Autorun.inf是一個文件夾,而且文件夾裡面還包含著其它文件:
md "D:\autorun.inf\免疫目錄不要刪除!...\"
attrib +s +h +r "D:\autorun.inf\免疫目錄不要刪除!...\"
Echo Y|cacls "D:\autorun.inf\免疫目錄不要刪除!...\" /T /C /P everyone:N
先創建畸形文件夾“免疫目錄不要刪除!...”,然後添加隱藏、只讀、系統等屬性,最後一行的cacls是權限設置。這樣做的目的
是防止其它程序修改或刪除該免疫文件。
3、處理子目錄和子文件:Attrib /s /d
cacls D:\autorun.inf /T /C /P everyone:F
Attrib -r -h -s -a /s /d D:\autorun.inf
rd /s /q D:\autorun.inf
注意其中的一行:
Attrib -r -h -s -a /s /d D:\autorun.inf
意思是清理D:\autorun.inf目錄下所有文件夾和文件的屬性。
注意參數 s 和 d 的位置:S在前,D在後。
如有必要,需使用括號,如:
(Attrib -r -h D:\autorun.inf)
十、文件搜索命令:DIR
該命令參數較多,都比較實用,下面列出幫助文件,並就一些常用的具體用法做介紹。
C:\Documents and Settings\Administrator>dir/?
顯示目錄中的文件和子目錄列表。
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]
實戰應用:
開始前先了解通配符 “*”和“?”。
* 指所有任意文件或字符,範圍較大;
? 指某個模糊的文件或字符,範圍較小。
1、查詢當前目錄文件及文件夾:dir
2、查詢具有隱藏屬性的文件:dir /a:h
D 目錄 R 只讀文件
H 隱藏文件 A 準備存檔的文件
S 系統文件 - 表示“否”的前綴
3、查詢結果前幾行不包含多餘的信息:dir /b
4、分欄模式,把結果分作兩列顯示:dir /d
5、按照文件大小順序排列查詢結果:dir /o:s
N 按名稱(字母順序) S 按大小(從小到大)
E 按擴展名(字母順序) D 按日期/時間(從先到後)
G 組目錄優先 - 顛倒順序的前綴
6、可以顯示子目錄和子文件,搜索所有文件:dir /s
7、根據文件創建時間搜索:dir /t:c
C 創建時間
A 上次訪問時間
W 上次寫入的時間
8、寬格式顯示結果,類似於 dir /d 的分欄模式:dir /w
9、搜索F盤後綴名為mp3的所有文件:dir /s f:\*.mp3
10、搜索歌名含有“劉德華”的歌曲:dir /s f:\*劉德華*.mp3
11、搜索文件名第二個字符為“愛”的歌曲:dir /s f:\?愛*.mp3
13、搜索文件名倒數第三個字符是“o”的文件夾:dir /a:d *o???.*
14、搜索文件名以“32”結尾的文件:dir *32.* /s
15、搜索文件名以“sys”開頭且只有七位的文件:dir sys????.* /s
16、搜索“C:\Program Files\Windows Media Player\”下的wmplayer.exe程序:dir "C:\Program Files\Windows Media
Player\wmplayer.exe"
17、搜索QQ.exe程序:dir /s qq.exe
18、通用搜索,只顯示完整的路徑名:dir /a-d /b /s
19、全盤搜索ttplayer.exe程序:for %%x in (C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T : U: V: W: X: Y:
Z:) do if exist %%x cd /d %%x&dir /ad /b /s ttplayer.exe
20、全盤同時搜索多個文件(音頻):for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do
(dir /b /ad /b / s "%%i\*.mp3" "%%i\*.wma" "%%i\*.wav")
注意:
1、以上命令可以直接在cmd窗口測試。
2、請熟悉兩個通配符的作用。
3、dir與for組合可以進行複雜的搜索,for是一個循環命令,會在後面學習。在cmd裡運行FOR需把“%%i”改成“%i”。
4、請記住並熟練運用以上各個dir的參數,未列出的參數請自學。
5、請記住“dir /a /b /s”這個常用的搜索命令。
6、以下參數請自學:
/C 在文件大小中顯示千位數分隔符。這是默認值。用 /-C 來
停用分隔符顯示。
/L 用小寫。
/N 新的長列表格式,其中文件名在最右邊。
/P 在每個信息屏幕後暫停。
/Q 顯示文件所有者。
/X 顯示為非 8dot3 文件名產生的短名稱。格式是 /N 的格式,
短名稱插在長名稱前面。如果沒有短名稱,在其位置則
顯示空白。
/4 用四位數字顯示年
可以在 DIRCMD 環境變量中預先設定開關。通過添加前綴 - (破折號)
來替代預先設定的開關。例如,/-W。
十一、附錄
(一)CMD命令目錄參考
以下命令目錄來自CMD的幫助文件。 ★表示在批處理中使用,●表示基礎常用,兩種都要熟悉掌握。當然,以下大部分都是常用的
。
有關某個命令的詳細信息,請鍵入 HELP 命令名。如:help echo
ASSOC 顯示或修改文件擴展名關聯。
AT 計劃在計算機上運行的命令和程序。
ATTRIB ●顯示或更改文件屬性。
BREAK 設置或清除擴展式 CTRL+C 檢查。
CACLS 顯示或修改文件的訪問控制列表(ACLs)。
CALL ★從另一個批處理程序調用這一個。
CD ●顯示當前目錄的名稱或將其更改。
CHCP 顯示或設置活動代碼頁數。
CHDIR 顯示當前目錄的名稱或將其更改。
CHKDSK 檢查磁盤並顯示狀態報告。
CHKNTFS 顯示或修改啟動時間磁盤檢查。
CLS ●清除屏幕。
CMD 打開另一個 Windows 命令解釋程序窗口。
COLOR ●設置默認控制台前景和背景顏色。
COMP 比較兩個或兩套文件的內容。
COMPACT 顯示或更改 NTFS 分區上文件的壓縮。
CONVERT 將 FAT 卷轉換成 NTFS。您不能轉換前驅動器。
COPY ●將至少一個文件複製到另一個位置。
DATE ●顯示或設置日期。
DEL ●刪除至少一個文件。
DIR ●顯示一個目錄中的文件和子目錄。
DISKCOMP 比較兩個軟盤的內容。
DISKCOPY 將一個軟盤的內容複製到另一個軟盤。
DOSKEY 編輯命令行、調用 Windows 命令並創建宏。
ECHO ★顯示消息,或將命令回顯打開或關上。
ENDLOCAL ★結束批文件中環境更改的本地化。
ERASE 刪除至少一個文件。
EXIT ★退出 CMD.EXE 程序(命令解釋程序)。
FC ●比較兩個或兩套文件,並顯示不同處。
FIND ★在文件中搜索文字字符串。
FINDSTR ★在文件中搜索字符串。
FOR ★為一套文件中的每個文件運行一個指定的命令。
FORMAT 格式化磁盤,以便跟 Windows 使用。
FTYPE ●顯示或修改用於文件擴展名關聯的文件類型。
GOTO ★將 Windows 命令解釋程序指向批處理程序中某個標明的行。
GRAFTABL 啟用 Windows 來以圖像模式顯示擴展字符集。
HELP ●提供 Windows 命令的幫助信息。
IF ★執行批處理程序中的條件性處理。
LABEL 創建、更改或刪除磁盤的捲標。
MD ●創建目錄。
MKDIR ●創建目錄。
MODE 配置系統設備。
MORE ●一次顯示一個結果屏幕。
MOVE ●將文件從一個目錄移到另一個目錄。
PATH 顯示或設置可執行文件的搜索路徑。
PAUSE ★暫停批文件的處理並顯示消息。
POPD 還原 PUSHD 保存的當前目錄的上一個值。
PRINT 打印文本文件。
PROMPT 更改 Windows 命令提示符。
PUSHD 保存當前目錄,然後對其進行更改。
RD ●刪除目錄。
RECOVER 從有問題的磁盤恢復可讀信息。
REM ★記錄批文件或 CONFIG.SYS 中的註釋。
REN ●重命名文件。
RENAME 重命名文件。
REPLACE 替換文件。
RMDIR 刪除目錄。
SET ★顯示、設置或刪除 Windows 環境變量。
SETLOCAL ★開始批文件中環境更改的本地化。
SHIFT ★更換批文件中可替換參數的位置。
SORT ●對輸入進行分類。
START ●啟動另一個窗口來運行指定的程序或命令。
SUBST 將路徑跟一個驅動器號關聯。
TIME ●顯示或設置系統時間。
TITLE ●設置 CMD.EXE 會話的窗口標題。
TREE ●以圖形模式顯示驅動器或路徑的目錄結構。
TYPE ●顯示文本文件的內容。
VER 顯示 Windows 版本。
VERIFY 告訴 Windows 是否驗證文件是否已正確寫入磁盤。
VOL 顯示磁盤捲標和序列號。
XCOPY ●複製文件和目錄樹。
(二)DOM命令目錄參考
以下命令來自《MS-DOS HELP 命令參考》,有些命令專用於DOS和CMD,有些專用於批處理,有些已經不能使用,注意區分。
ANSI.SYS 定義一套函數,用於改變圖形的顯示,控制光標的移動,以及對鍵盤進行重新設置。
Append 使程序能打開所指定目錄中的數據文件,就像該文件是在當前目錄中一樣。
Attrib 顯示或修改文件的屬性。
Batch commands 批處理文件或批處理程序是一個包含若干MS-DOS命令的正文文件,擴展名為.BAT。當在命令提示符下敲入批處理
程序的名稱時,MS-DOS成組執行此批處理程序中的命令。下面MS-DOS命令是專門在批處理程序中使用的: Call、For、Pause、
Choice、Goto、Rem、Echo、If、Shift。
Break 允許或禁止對擴展鍵CTRL+C的檢查。可在命令提示符下或CONFIG.SYS文件中使用該命令。
Buffers 在系統啟動時,在內存中分配指定個數的磁盤緩衝區。該命令僅用在CONFIG.SYS文件中。
Call 從一個批處理程序中調用另一個批處理程序,而不會引起第一個批處理的中止。
Cd 顯示當前目錄的名稱或改變當前目錄。
Chcp 顯示當前活動字符集(代碼頁)的代號。
Chdir 顯示當前目錄的名稱或改變當前目錄。
Chkdsk 檢查磁盤狀態並顯示狀態報告。還能修正磁盤錯誤。
CHKSTATE.SYS 內存優化程序MemMaker利用它來跟踪優化過程。
Choice 在批處理程序中,提示用戶作一選擇。顯示一指定的提示符並暫停等待用戶從一組指定的鍵中作出選擇。該命令只能用在
批處理程序中。
Cls 清屏後的屏幕只出現命令提示符和光標。
Command 啟動一新的MS-DOS命令解釋程序實例(instance)。命令解釋程序是一個讓用戶輸入命令的程序。 EXIT命令用於中止新
的命令解釋程序,並將控制返回原來的解釋程序。
CONFIG.SYS commands CONFIG.SYS文件是一個包含特殊命令的正文文件。這些命令用於配置計算機的硬件組成,以便MS-DOS和應用
程序可以使用它們。 MS-DOS啟動時先執行CONFIG.SYS文件中的命令。 CONFIG.SYS文件一般放在C盤根目錄下。
Copy 複製一個或多個文件到所指定的路徑下。
Country 使MS-DOS按不同國家習慣顯示時間、日期和貨幣,確定字符排序的方法,以及哪些字符可以用作文件名。該命令只能用在
CONFIG.SYS文件中。
Ctty 改變用於控制計算機的終端設備。若想用另一台設備進行命令輸入,可用CTTY命令實現。
Date 顯示日期並提示根據需要來修改日期。
Dblspace 壓縮硬盤或軟盤,並對用DriveSpace壓縮過的驅動器進行配置。
Debug 啟動Debug 程序,用以測試和調試可執行文件。
Defrag 為優化磁盤操作而重組盤上的文件,在運行Windows時不要使用這個命令。
Del 刪除指定的文件。
Deltree 刪除一個目錄及目錄下的所有文件和子目錄。
Device 將特定設備驅動程序裝入到內存。此命令只用在CONFIG.SYS文件中。
Device drivers 設備驅動程序。
Devicehigh 加載設備驅動程序到高端內存。
Dir 顯示指定目錄下的文件和子目錄列表。
Diskcomp 比較兩個軟盤中的內容。該命令按磁道進行比較。
Diskcopy 拷貝一個軟盤的內容到另一軟盤。
DISPLAY.SYS 允許在EGA、VGA和LCD顯示器上顯示國際字符集。
Dos 指定MS-DOS應該保持到上端內存區的鏈接,把其一部分加載到上端內存區(HMA),或二者兼而有之。只能在CONFIG.SYS文件
中使用該命令。
Doskey 加載Doskey程序到內存。 Doskey程序回調MS-D0S命令,使你能夠編輯命令行,創建並運行宏。
Dosshell 啟動MS-DOS Shell,一個MS-DOS圖形界面。
DRIVER.SYS 建立一邏輯驅動器,以便你能作為物理軟磁盤驅動器來引用。
DriveSpace Tips DriveSpace是一個磁盤壓縮程序,通過它您可以用少量的空間來存儲大量的文件。
Drivparm 當你啟動MS-DOS時,為磁盤及磁帶這樣的設備定義參數。你只能在CONFIG.SYS文件中使用此命令。
Drvspace 壓縮硬盤或軟盤,並對用DriveSpace壓縮過的驅動器進行配置。
DRVSPACE.SYS 確定DBLSPACE.BIN在內存中的最終存放位置。
Echo 當程序運行時,顯示或隱藏批處理程序中的正文。也可用於允許或禁止命令的回顯。在運行批處理程序時,MS-DOS一般在屏
幕上顯示(回顯)批處理程序中的命令。使用ECHO命令可關閉此功能。
Edit MS-DOS Editor是一文本編輯器,用於建立及編輯ASCII文本文件。
EGA.SYS 當監視器為EGA並採用MS-DOS Shell Task Swapper(外殼任務切換程序)時,用EGA.SYS設備驅動程序來保存和恢復屏幕
顯示。如果顯示器為EGA顯示器,那麼在使用任務切換程序前一定要裝入EGA.SYS設備驅動程序。
Emm386 對採用80386或更高處理器的計算機,允許或禁止EMM386擴充內存支持。 EMM386命令也可允許或禁止對Weitek協處理器的
支持。但在運行Windows時不要使用此命令。
EMM386.EXE 提供對上端內存區的訪問並用擴展內存來模擬擴充內存。
Erase 刪除指定的文件。
Exit 如果啟動命令解釋程序的程序存在,則退出MS-DOS命令解釋程序(COMMAND.COM)而返回此程序。
Expand 展開一壓縮的文件。
Fasthelp 列表顯示MS-DOS 6.22所有命令,並給出每一個命令的簡介。
Fastopen 啟動Fastopen程序,這可以改進具有大目錄計算機的性能。 Fastopen將減少MS-DOS不斷打開經常使用的文件所用的時間
。當運行Windows時不要使用此命令。
Fc 比較兩個文件並顯示它們之間的不同。
Fcbs 指定MS-DOS在同一時間可打開的文件控制塊(FCB)數。只能在CONF1G.SYS文件中使用此命令。
Fdisk 啟動Fdisk程序,以配置MS-DOS所使用的硬盤。 Fdisk顯示一系列的菜單以幫助你對硬盤進行MS-DOS分區 。
Files 指定MS-DOS在同一時刻可存取的文件數。此命令只能在CONFIG.SYS文件中使用。
Find 在某一或多個文件中查找指定的文件字符串。
For 對一組文件逐一運行一條命令。該命令可用在批處理文件中,也可命令提示符下直接調用。
Format 格式化MS-DOS磁盤。
Goto 在批處理文件中,把MS-DOS定向到某一行,這一行由指定的標號來標記。該命令只能用在批處理文件中。
Graphics GRAPHICS將程序裝入內存,允許MS-DOS打印出屏幕上顯示的信息。僅當使用彩色或圖形適配器時才能使用GRAPHICS命令
。
Help 啟動MS-DOS幫助系統。
HIMEM.SYS HIMEM是一個擴展內存管理的程序,用來管理擴展內存和高端內存區(HMA),以保證不同的應用程序或設備驅動程序不
會同時使用同一塊內存。
If 批處理程序中的條件判斷語句。若IF命令指定的條件為真,則MS-DOS執行條件下面的命令;否則,MS-DOS忽略此命令。此命令
只能在批處理程序中使用。
Include 在一個配置塊中包含另一個配置塊。此命令僅能用於CONFIG.SYS文件。
Install 啟動MS-DOS時裝入一個內存駐留程序。此命令只能在CONFIG.SYS文件中使用。
Interlnk 將兩台計算機通過並口或串口聯接起來,以共享磁盤和打印機。
INTERLNK.EXE 要將Interlnk客戶驅動器或打印機口的操作重定向到lnterlnk服務器驅動器或打印機口,必須在CONFIG.SYS文件中
用
International commands 當改變國別設置和字符集(代碼頁)時,下列命令是非常有用的:
Intersvr 啟動Interlnk服務器。
Keyb 啟動keyb程序,配置特定語言鍵盤。
Label 創建、修改或刪除磁盤捲標。 MS-DOS在目錄列表中顯示卷標。若有捲系列號也同時顯示。
Lastdrive 指定可使用驅動器的最大數量。此命令只能在CONFIG.SYS文件中使用。
Lh 將程序裝入到上端內存區。
Loadfix 把程序裝入在常規內存的第一個64K之上,並運行程序。
Loadhigh 將程序裝入到上端內存區。
Md 創建目錄。使用MKDIR或MD命令可創建多級目錄結構
Mem 顯示計算機中已使用的和自由的內存量。
Memmaker 啟動MemMaker程序,通過將設備驅動程序和內存駐留程序移到上端內存而優化計算機內存的使用。
MenuColor 設置啟動菜單的正文和背景顏色。此命令只能在CONFIG.SYS文件的菜單塊內使用。
MenuDefault 指定啟動菜單的默認菜單項並設定等待時間。
MenuItem 定義啟動菜單的菜單項。此命令只能在CONFIG.SYS文件的菜單塊中使用。每個菜單最多可有九個菜單項。
Mkdir 使用MKDIR或MD命令可創建多級目錄結構。
Mode Commands 配置系統設備。 MODE命令可執行許多任務,如顯示系統狀態,改變系統設置,或重新配置端口或設備。
More 每次顯示一屏輸出。 MORE 命令從管道或重定向文件中讀標準輸入,並每次顯示一屏信息。該命令一般用於查看長文件。
Move 將一個或多個文件移到指定的位置,它也可以更改目錄名。
Msav 掃描計算機,搜尋已知的計算機病毒。
Msbackup 從一個磁盤向另一個磁盤備份或恢復文件。
Mscdex 提供對CD-ROM驅動器的存取。可在AUTOEXEC.BAT中或從命令提示符下裝入MSCDEX。 (
Msd 提供計算機的詳細技術信息。
Multi-config 一個CONFIG.SYS文件可以定義幾種不同的系統配置。
Nlsfunc 啟動Nlsfunc程序可裝載國家特定的語言支持(NLS)信息。
Numlock 指定在計算機啟動時打開或關閉NUMLOCK鍵。此命令只能在CONFIG.SYS文件中使用。
Path 指定在MS-DOS搜索可執行文件的目錄。
Pause 暫停批處理程序的執行並顯示一條消息,提示用戶按任意鍵繼續執行。只能在批處理程序中使用該命令。
Power 打開或關閉電源管理,報告電源管理的狀態,並設置電源節省級別。
POWER.EXE 在應用程序或設備空閒時減少電源消耗。
Print 在使用其它MS-DOS命令時打印正文文件。
Prompt 改變命令提示符。
Qbasic 啟動MS-DOS QBasic,QBasic讀入Basic語言指令,並將其解釋為可執行代碼。
RAMDRIVE.SYS 用計算機的一部分隨機存取內存(RAM)模擬硬盤驅動器。
Rd 刪除目錄。
Rem 在批處理文件或CONFIG.SYS中加入註解。也可用REM命令來屏蔽命令(在CONFIG.SYS 中也可以用分號(;)代替REM命令,但在批
處理文件中則不能替代)。
Ren 改變一個或多個文件名。
Rename 改變一個或多個文件名。
Replace 用源目錄中的文件代替目標目錄中的同名文件。還可以使用REPLACE在目標目錄中加入文件。
Restore 恢復用MS-DOS 2.0至5.0的BACKUP命令備份的文件。如果要恢復用MS-DOS 6或更高版本的MSBACKUP命令備份的文件,則應
使用
Rmdir 刪除目錄。
ScanDisk 啟動Microsoft ScanDisk,該磁盤分析和修復工具能檢查驅動器上的錯誤並排除所找到的任何故障。
Set 顯示,設置或刪除MS-DOS環境變量。
Setver 顯示版本表。給為MS-DOS早期版本而設計的程序或設備驅動程序報一個早於6.22的版本號。
SETVER.EXE 將MS-DOS版本表裝入內存。此設備驅動程序必須在CONFIG.SYS文件中用
Share 啟動Share程序,提供文件共享和在磁盤、網絡驅動器上進行鎖定的功能。
Shell 指定希望MS-DOS使用的命令解釋程序的名字和位置,此命令僅能在CONFIG.SYS文件中使用。
Shift 改變批處理程序中可替換參數的位置。
SIZER.EXE 內存優化程序MemMaker使用SIZER來判斷設備驅動程序以及內存駐留程序所佔內存空間。
Smartdrv 使用SMARTDrive可在擴展內存中創建一個磁盤緩衝。磁盤緩衝能有效地加速磁盤操作。
SMARTDRV.EXE 裝入SMARTDRV.EXE設備驅動程序就可以進行雙重緩衝。
Sort 讀輸入,將數據排序並將結果寫到屏幕、文件或其它設備。 SORT作為過濾器,讀指定列的字符並按升序或降序重排。
Stacks 支持動態使用數據堆棧以處理硬件中斷。此命令僅能在CONFIG.SYS文件中使用。
Submenu 在啟動菜單中定義一個項,選中時顯示另一套選擇項。只能在CONFIG.SYS文件中的一個菜單塊內部使用這一命令。
Subst 將驅動器符與路徑關聯。指定的虛驅動器字母對應實際的驅動器。運行Windows時不要使用SUBST命令。
Switches 指定MS-DOS中的特殊選項。此命令只能在CONFIG.SYS文件中使用。
Sys 將隱含的MS-DOS系統文件(IO.SYS和MSDOS.SYS)和MS-DOS命令解釋程序(COMMAND.COM)的MS-DOS部分拷貝到磁盤上以創建啟
動磁盤。
Time 顯示系統時間或設置計算機的內部時鐘。
Tree 圖形化地顯示目錄結構。
Type 示文本文件的內容。使用TYPE命令只可察看文本文件而不能修改。
Undelete 恢復以前用
Unformat 恢復由FORMAT命令清除的磁盤。 UNFORMAT只能恢復本地硬盤和軟盤驅動器,它不能恢復網絡驅動器。 UNFORMAT命令還
能重新修復和建立硬盤驅動器上損壞的分區表。
Ver 顯示MS-DOS版本號。
Verify 指定MS-DOS來檢查文件是否正確地寫到磁盤上並顯示檢查的狀態。
Vol 顯示磁盤捲標和序列號。
VSafe 連續監視計算機是否有病毒,當發現病毒時顯示告警信息。 VSAFE是內存駐留程序,使用22K內存。運行Windows時不要使用
VSAFE命令。
Xcopy 拷貝目錄及其子目錄和文件(除隱含和系統文件)。使用這個命令,可以拷貝一個目錄中的所有文件,包括該目錄中的子目
錄的所有文件。
(三)系統運行命令大全
以下命令用於啟動一些系統程序,可以在開始菜單的“運行”裡運行。
calc-----------啟動計算器
certmgr.msc----證書管理實用程序
charmap--------啟動字符映射表
chkdsk.exe-----Chkdsk磁盤檢查
ciadv.msc------索引服務程序
cleanmgr-------垃圾整理
cliconfg-------SQL SERVER 客戶端網絡實用程序
Clipbrd--------剪貼板查看器
cmd.exe--------●CMD命令提示符
compmgmt.msc---計算機管理
conf-----------啟動netmeeting
dcomcnfg-------打開系統組件服務
ddeshare-------打開DDE共享設置
devmgmt.msc--- 設備管理器
dfrg.msc-------磁盤碎片整理程序
diskmgmt.msc---磁盤管理實用程序
drwtsn32------ 系統醫生
dvdplay--------DVD播放器
dxdiag---------檢查DirectX信息
eudcedit-------造字程序
eventvwr-------事件查看器
explorer-------打開資源管理器
fsmgmt.msc-----共享文件夾管理器
gpedit.msc-----組策略
iexpress-------木馬捆綁工具,系統自帶
logoff---------●註銷命令
lusrmgr.msc----本機用戶和組
magnify--------放大鏡實用程序
mem.exe--------●顯示內存使用情況
mmc------------打開控制台
mobsync--------同步命令
mplayer2-------●媒體播放機簡易widnows media player
Msconfig.exe---系統配置實用程序
mspaint--------畫圖板
mstsc----------遠程桌面連接
narrator-------屏幕“講述人”
net start messenger----開始信使服務
net stop messenger-----停止信使服務
netstat -an----(TC)命令檢查接口
notepad--------●打開記事本
Nslookup-------IP地址偵測器
nslookup-------網絡管理的工具嚮導
ntbackup-------系統備份和還原
ntmsmgr.msc----移動存儲管理器
ntmsoprq.msc---移動存儲管理員操作請求
odbcad32-------ODBC數據源管理器
oobe/msoobe /a----檢查XP是否激活
osk------------打開屏幕鍵盤
packager-------對象包裝程序
perfmon.msc----計算機性能監測程序
progman--------程序管理器
regedit.exe----註冊表
regedt32-------註冊表編輯器
regsvr32 /u *.dll----停止dll文件運行
regsvr32 /u zipfldr.dll------取消ZIP支持
rononce -p ----●15秒關機
rsop.msc-------組策略結果集
secpol.msc-----本地安全策略
services.msc---本地服務設置
sfc /scannow-----掃描錯誤並複原
sfc /scannow---windows文件保護
sfc.exe--------系統文件檢查器
shrpubw--------創建共享文件夾
sigverif-------文件簽名驗證程序
sndrec32-------錄音機
Sndvol32-------音量控製程序
syncapp--------創建一個公文包
sysedit--------系統配置編輯器
syskey---------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼
taskmgr--------●任務管理器
tourstart------xp簡介(安裝完成後出現的漫遊xp程序)
tsshutdn-------●60秒倒計時關機命令
utilman--------輔助工具管理器
wiaacmgr-------掃描儀和照相機嚮導
winchat--------XP自帶局域網聊天
winmsd---------系統信息
winver---------檢查Windows版本
wmimgmt.msc----打開windows管理體系結構(WMI)
write----------寫字板
wscript--------windows腳本宿主設置
wupdmgr--------windows更新程序
(四)其它系統命令
有些命令沒有出現在以上命令中,但也是常用的,現列出如下。
1、進程命令:tasklist、taskkill、ntsd
1)進程列表:tasklist
這個命令行工具顯示應用程序和本地或遠程系統上運行的相關任務/進程的列表。
TASKLIST [/S system [/U username [/P [password]]]]
[/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
2)結束進程:taskkill
這個命令行工具可用來結束至少一個進程。可以根據進程 id 或圖像名來結束進程。
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
3)系統調試工具:ntsd
常見用來結束進程,比taskkill稍微高級、強大,但是功能也有限。
命令格式:ntsd -c q -p pid
命令格式:ntsd -c q -pn ***.exe
***.exe 為進程名,exe不能省
選項option:
-2打開一個用於調試字符模式的應用程序的新窗口。
-d將輸出重定向到調試終端-g 使執行自動通過第一個斷點。
-G使 NTSD 在子程序終止時立即退出o啟用多個進程的調試,默認值為由調試程序衍生的一個進程。
-p指定調試由進程 ID 標識的進程。
-v產生詳細的輸出。
2、Windows NT命令行服務控制:SC
SC命令是XP系統中功能強大的DOS命令,可以用來查詢、開啟和停止系統服務。
3、Windows 控制台註冊表工具:reg
Operation [ QUERY | ADD | DELETE | COPY |
SAVE | LOAD | UNLOAD | RESTORE |
COMPARE | EXPORT | IMPORT ]
4、Windows 管理規範命令行:WMIC
WMIC擴展WMI(Windows Management Instrumentation,Windows管理規範) ,提供了從命令行接口和批命令腳本執行系統管理的
支持。
該命令比較強大和復雜。
5、任務計劃命令:at和schtasks
1)任務計劃命令:AT
AT 命令安排在特定日期和時間運行命令和程序。
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "command"
要使用 AT 命令,計劃服務必須已在運行中。
必須先開啟服務。以下是開啟該服務的命令:
sc start schedule
sc config schedule start= auto
2)高級任務計劃命令:schtasks
允許管理員創建、刪除、查詢、更改、運行和中止本地或遠程系統上的計劃系統。替代 AT.exe。比AT要復雜得多。
SCHTASKS /parameter [arguments]
同樣需要開啟schedule服務。
6、常用關機命令:shutdown、tsshutdn、logoff
1)一般系統關機:shutdown
2)在控制方式下關閉服務器:tsshutdn
3)註銷系統:logoff
7、常用網絡命令:net、netstat、finger、ping、ipconfig
1)net命令
NET命令是功能強大的以命令行方式執行的工具。它包含了管理網絡環境、服務、用戶、登陸等Windows 98/NT/2000 中大部分重要
的管理功能。使用它可以輕鬆的管理本地或者遠程計算機的網絡環境,以及各種服務程序的運行和配置。或者進行用戶管理和登陸
管理等。
2)netstat命令
netstat命令的功能是顯示網絡連接、路由表和網絡接口信息,可以讓用戶得知目前都有哪些網絡連接正在運作。
3)nslookup命令
nslookup命令的功能是查詢一台機器的IP地址和其對應的域名。它通常需要一台域名服務器來提供域名服務。如果用戶已經設置好
域名服務器,就可以用這個命令查看不同主機的IP地址對應的域名。
4)finger命令
finger命令的功能是查詢用戶的信息,通常會顯示系統中某個用戶的用戶名、主目錄、停滯時間、登錄時間、登錄shell等信息。
如果要查詢遠程機上的用戶信息,需要在用戶名後面接“@主機名”,採用[用戶名@主機名]的格式,不過要查詢的網絡主機需要運
行finger守護進程。
5)ping命令
ping命令用於查看網絡上的主機是否在工作,它向該主機發送ICMP ECHO_REQUEST包。有時我們想從網絡上的某台主機上下載文件
,可是又不知道那台主機是否開著,就需要使用ping命令查看。
6)ipconfig命令
IPConfig實用程序和它的等價圖形用戶界面——Windows 95/98中的WinIPCfg可用於顯示當前的TCP/IP配置的設置值。
8、磁盤管理命令:fsutil
Fsutil 是可用於執行多種與 FAT 和 NTFS 文件系統相關的任務(例如管理重解析點、管理稀疏文件、卸載卷或擴展卷)的命令行
實用程序。由於 Fsutil 功能非常強大,因而只有完全掌握 Windows XP 的高級用戶才能使用它。此外,必須作為管理員或管理員
組的成員登錄才能使用 Fsutil。
9、系統信息命令:systeminfo