1. 程式人生 > >Windows批處理命令學習

Windows批處理命令學習

     Windows的批處理命令固然比不上unix的shell指令碼強大,但用好了仍能給我們的工作帶來很大作用。一個朋友問我為什麼學習批處理命令,我以《程式設計師修煉之道——從小工到專家》一書的一句話答覆他:圖形介面的優點是所見即所得,圖形介面的缺點是所見就是所有所得,而批處理命令組合起來功能強大快捷。現在就讓我們來學習下吧。(下面紅色字為批處理命令)

基本的命令:

@echo off

  echo的意思是迴旋,這裡的意思就是回顯,echo off意思就是關閉回顯.前面的@表示echooff 這一行也不會回顯你可以試著去掉@和整行去掉.@的另一個功能是在執行完批處理檔案時自動恢復命令回顯。

動手實踐:

1.     在某個目錄下建一個1.bat,分別往檔案輸入命令:

@echo off

dir

echo off

dir

以及

dir,然後在命令控制檯執行1.bat,看看有何不同?

call

CALL[drive:][path]filename [batch-parameters]

  batch-parameters   指定批處理程式所需的命令列資訊。

動手實踐:

在C盤上建一個批處理檔案Echo.bat

echo %1

然後在命令列視窗輸入命令:

call C: \Echo.bat "thisis a test" 

看看效果是什麼。

pause

     暫停批處理程式的執行並顯示一條訊息,提示使用者按任意鍵繼續執行。只能在批處理程式中使用該命令。

rem

表示此命令後的字元為解釋行(註釋),不執行,只是給自己今後參考用的(相當於程式中的註釋).

同時你可以用兩個冒號來替代rem.如: ::等同於一個rem.但他們有個區別,就是用::作註釋的話他是不回顯的,即使你打echo on強制回顯也沒有同的.同時rem可以在config.sys中加註釋.

語法: rem[commnet]

學批處理命令的一個小體會:時刻想著要運用,特別是進行批量操作時,這樣才能學以致用。

繼續學習Windows批處理命令。

批處理檔案引數:

有點程式設計基礎的人都知道函式有引數.批處理檔案也有引數。批處理檔案還可以像C語言的函式一樣使用引數(相當於DOS命令的命令列引數),這需要用到一個引數表示符"%"。

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

動手實踐:

新建一個批處理檔案a.bat,在裡面輸入命令:

@echo off

ping %1

ping %2

然後在命令控制檯環境下輸入命令:C:\Users\zhu>C:\a.bat www.163.comwww.sina.com

看看有什麼效果,同時領悟下如何使用多個批處理檔案引數。

if命令

if語句一共有3種模式,如下:

IF [NOT]string1==string2 command

IF [NOT]EXIST filename command

IF [NOT]ERRORLEVEL number command

 NOT               指定只有條件為 false 的情況下, Windows XP 才應該執行該命令。

 ERRORLEVEL number 如果最後執行的程式返回一個等於或大於指定數字的退出編碼,指定條件為 true。

 string1==string2  如果指定的文字字串匹配,指定條件為 true。

 EXIST filename    如果指定的檔名存在,指定條件為 true。

 command           如果符合條件,指定要執行的命令。如果指定的條件為 FALSE,命令後可跟一個執行 ELSE關鍵字後的命令的 ELSE 命令。

我們先講解第一種:

IF [NOT]string1==string2 command

自然語句意思:如果string1==string2,那麼執行command

下面再舉個能實際應用的if語句.

自然語句:如果輸入的引數為3,那麼顯示"a=3"

計算機語句:

@echo off

if"%1"=="3" echo "a=3"

或者寫成

@echo off

if %1==3echo "a=3"

注意:當要測試的時候,因在cmd底下,輸入1.bat 3.因為這裡用了是傳遞引數,具體看文章前部分"批處理檔案引數".

第二種:

IF [NOT]EXIST filename command

這條命令用語檢測檔案是否存在.如果存在,執行command.如果不存在,則什麼也不顯示.

如:我們想檢查e盤根目錄下是否有一個叫2.txt的檔案.如果存在,則顯示exist.如果不存在,則什麼也不顯示.

批處理命令如下:

@echo off

if existe:2.txt echo "exist 2.txt"

第三種:

比起前兩種,第三種比較難懂,我也看得半懂不懂的。查了一些資料,大致理解了,理解IF[NOT] ERRORLEVEL number command的這句的關鍵是ERRORLEVEL這個到底指什麼?

原來每一行的DOS命令執行完,都有一個返回值(你可以把它比作是程式中的函式的返回值)。一般上一條命令的執行結果程式碼只有兩結果,"成功"用0表示 "失敗"用1表示.。ERRORLEVEL就是用來儲存這個返回值的。就是假如ERRORLEVEL大於等於number(number為你給定的常數或批處理檔案引數),則執行command。

還是讓我們做實驗來理解吧。

動手實踐:

     新建一個批處理檔案a.bat,在裡面輸入命令:

@echo off

ping %1

ping %2

然後在命令控制檯環境下輸入命令:C:\Users\zhu>C:\a.bat www.163.comwww.sina.com

看看有什麼效果,同時領悟下如何使用多個批處理檔案引數。

@echo off

net user

IF ERRORLEVEL 1 echo net user 執行失敗了!

     可能你要說:我想要提示執行命令的資訊,那你可以這樣寫:

@echo off

net user

IF NOT ERRORLEVEL 1 echo net user 執行成功了!

    可能你覺得這種寫法彆扭,同時你覺得應該是提示執行成功,反之提示失敗。呵呵,那麼我們就改成下面試試:

@echo off

net user

if%ERRORLEVEL% == 0 (

echo netuser 執行成功了!

)else (

echo netuser 執行失敗了!

)    

這是if和else的配套使用,其中if %ERRORLEVEL% == 0是假如ERRORLEVEL等於0。值得注意的是if和else的配套使用有著嚴格的使用格式,必須是:

if%ERRORLEVEL% == 0 (

command   // 執行命令

)else (

command   // 執行命令

)   

goto命令

     說實話,看完這個命令我立即想起C語言的goto語句。事實上這個命令和C語言的goto語句也非常相像,也很簡單。動手實踐下你就知道了。

新建一個批處理檔案a.bat,在裡面輸入命令:

@echo off

net user

if%ERRORLEVEL% == 0  goto successed

if%ERRORLEVEL% == 1  goto failed

:successed

echo netuser 執行成功!

gotoreturn

:failed

echo netuser 執行失敗!

:return

set命令

set命令我比較常用的是用來設定環境變數。它的用法很簡單,例子如下:

set hosts=c:/windows/system32/drivers/etc

注意:set命令只能設定當前cmd下才有效的環境變數。

參考文獻:

1.網上一位大俠(姓名不詳)寫的《批處理檔案教程》

for命令

     這是一個非常有用的命令。for命令其實就是一個迴圈命令,如果我們想重複一個語句,就可以用for命令.通過for命令,可以控制迴圈的次數等.

FOR 引數 %%變數名 IN (相關檔案或命令) DO 執行的命令

引數:FOR有4個引數 /d   /l   /r   /f   他們的作用我在下面用例子解釋
%%變數名 :這個變數名可以是小寫a-z或者大寫A-Z,他們區分大小寫,FOR會把每個讀取到的值給他;
IN:命令的格式,照寫就是了;
(相關檔案或命令) :FOR要把什麼東西讀取然後賦值給變數,看下面的例子
do:命令的格式,照寫就是了!
執行的命令:對每個變數的值要執行什麼操作就寫在這.

可以在CMD輸入for /?看系統提供的幫助!對照一下
FOR %%variable IN (set) DO command [command-parameters]

%%variable 指定一個單一字母可替換的引數。
(set)      指定一個或一組檔案。可以使用萬用字元。
command    指定對每個檔案執行的命令。
command-parameters
             為特定命令指定引數或命令列開關。值得注意的是IN (set)中IN和(之間有一個空格。


現在開始講每個引數的意思

/d
僅為目錄
如果 Set (也就是我上面寫的 "相關檔案或命令") 包含萬用字元(* 和 ?),將對與 Set 相匹配的每個目

錄(而不是指定目錄中的檔案組)執行指定的 Command。

系統幫助的格式:FOR /D%%variable IN (set) DO command
他主要用於目錄搜尋,不會搜尋檔案,看這樣的例子

@echo off
for /d %%i in (*) do @echo %%i
pause

把他儲存放在C盤根目錄執行,就會把C盤目錄下的全部目錄名字打印出來,而檔名字一個也不顯示!
在來一個,比如我們要把當前路徑下資料夾的名字只有1-3個字母的打出來

@echo off
for /d %%i in (???) do @echo %%i
pause

這樣的話如果你當前目錄下有目錄名字只有1-3個字母的,就會顯示出來,沒有就不顯示了。

      一個小例子是批處理掃描當前目錄的所有子目錄名稱

  echo off

  for  /d %%i  in (e:\*)  do echo %%i

  注意拉,該命令只掃描當前目錄的子目錄名稱,不會掃瞄子目錄中所包含的子目錄名稱。


思考題目:

@echo off
for /d %%i in (window?) do @echo %%i
pause

儲存到C盤下執行,會顯示什麼呢?自己看吧!
/D引數只能顯示當前目錄下的目錄名字,這個大家要注意!

/R
遞迴
進入根目錄樹[Drive:]Path,在樹的每個目錄中執行for 語句。如果在 /R 後沒有指定目錄,則認為是

當前目錄。如果 Set 只是一個句點 (.),則只列舉目錄樹。
系統幫助的格式:FOR /R[[drive:]path] %%variable IN (set) DO command

上面我們知道,/D只能顯示當前路徑下的目錄名字,那麼現在這個/R也是和目錄有關,他能幹嘛呢?放心他比

/D強大多了!
他可以把當前或者你指定路徑下的檔名字全部讀取,注意是檔名字,有什麼用看例子!

@echo off
for /r c:\ %%i in (*.exe) do @echo %%i
pause

咋們把這個BAT儲存到D盤隨便哪裡然後執行,我會就會看到,他把C盤根目錄,和每個目錄的子目錄下面全部

的EXE檔案都列出來了,這裡的c:\就是目錄了。

再來一個
@echo off
for /r %%i in (*.exe) do @echo %%i
pause

引數不一樣了,這個命令前面沒加那個C:\也就是搜尋路徑,這樣他就會以當前目錄為搜尋路徑,比如你這

個BAT你把他防災d:\test目錄下執行,那麼他就會把D:\test目錄和他下面的子目錄的全部EXE檔案列出

來!!!

一個例子是批處理掃描當前目錄下的所有子名錄及所有子目錄的子目錄名稱。程式碼異常簡單,如下:

  For /r c:\%%i  in (.) do echo  %%i

  注意哦,該程式碼會掃描出當前目錄下的所有子目錄名稱及子目錄中所包含的所有子目錄名稱。


/L
迭代數值範圍
使用迭代變數設定起始值(Start#),然後逐步執行一組範圍的值,直到該值超過所設定的終止值 (End#)

。/L 將通過對 Start# 與 End# 進行比較來執行迭代變數。如果 Start# 小於 End#,就會執行該命令。

如果迭代變數超過 End#,則命令解釋程式退出此迴圈。還可以使用負的 Step# 以遞減數值的方式逐步執

行此範圍內的值。例如,(1,1,5)生成序列 1 2 3 4 5,而 (5,-1,1) 則生成序列 (5 4 3 2 1)。語法是:

系統幫助的格式:for /L%% Variable in (Start#,Step#,End#) do Command

例如:

@echo off
for /l %%i in (1,1,5) do @echo %%i
pause

儲存執行看效果,他會列印從1 2 3 4 5 這樣5個數字
(1,1,5)這個引數也就是表示從1開始每次加1直到5終止!

再看這個例子
@echo off
for /l %%i in (1,1,5) do start cmd
pause

執行後是不是嚇了一跳,怎麼多了5個CMD視窗,呵呵!如果把那個 (1,1,5)改成 (1,1,65535)會有什麼結果,

我先告訴大家,會開啟65535個CMD視窗....這麼多你不宕機算你強!

當然我們也可以把那個startcmd改成md %%i 這樣就會建立指定個目錄了!!!名字為1-65535

看完這個被我賦予破壞性質的引數後,我們來看最後一個引數

/f

含有/F的for詳細說明

含有/F的for有很大的用處,在批處理中使用的最多,用法如下:
格式:
FOR /F ["options"] %%i IN (file) DO command

FOR /F ["options"] %%i IN("string") DO command

FOR /F ["options"] %%i IN('command') DO command

這個可能是最常用的,也是最強的命令,主要用來處理檔案和一些命令的輸出結果。

file代表一個或多個檔案

string 代表字串

command代表命令

["options"] 可選

對於FOR /F %%iIN (file) DO command

file為檔名,按照官方的說法是,for會依次將file中的檔案開啟,並且在進行到下一個檔案之前將每個檔案讀取到記憶體,按照每一行分成一個一個的元素,忽略空白的行,看個例子。

假如檔案a.txt中有如下內容:

第1行第1列第1行第2列 第1行第3列
第2行第1列第2行第2列 第2行第3列
第3行第1列第3行第2列 第3行第3列

你想顯示a.txt中的內容,會用什麼命令呢?當然是type,type a.txt

for也可以完成同樣的命令:

for /f %%i in (a.txt) do echo %%i

還是先從括號執行,因為含有引數/f,所以for會先開啟a.txt,然後讀出a.txt裡面的所有內容,把它作為一個集合,並且以每一行作為一個元素,所以會產生這樣的集合,

{"第1行第1列 第1行第2列 第1行第3列", //第一個元素

"第2行第1列 第2行第2列 第2行第3列", //第二個元素

"第3行第1列 第3行第2列 第3行第3列"}   //第三個元素

集合中只有3個元素,同樣用%%i依次代替每個元素,然後執行do後面的命令。

具體過程:

用%%i代替"第1行第1列 第1行第2列 第1行第3列",執行do後面的echo %%i,顯示"第1行第1列第1行第2列 第1行第3列",

用%%i代替"第2行第1列 第2行第2列 第2行第3列",執行echo %%i,顯示"第2行第1列 第2行第2列 第2行第3列",

依次,直到每個元素都代替完為止。

為了加強理解/f的作用,請執行一下兩個命令,對比即可明白:

for /f %%i in (a.txt) do echo %%i //這個會顯示a.txt裡面的內容,因為/f的作用,會讀出a.txt中
的內容。

for %%i in (a.txt) do echo %%i //而這個只會顯示a.txt這個名字,並不會讀取其中的內容。

通過上面的學習,我們發現for/f會預設以每一行來作為一個元素,但是如果我們還想把每一行再分解更小的內容,該怎麼辦呢?不用擔心,for命令還為我們提供了更詳細的引數,使我們將每一行分為更小的元素成為可能。

它們就是:delims和tokens

delims 用來告訴for每一行應該拿什麼作為分隔符,預設的分隔符是空格和tab鍵

比如,還是上面的檔案,我們執行下面的命令:

for /f "delims= " %%i in (a.txt)do echo %%i

顯示的結果是:

第1行第1列
第2行第1列
第3行第1列

為什麼是這樣的呢。因為這裡有了delims這個引數,=後面有一個空格,意思是再將每個元素以空格分割,預設是隻取分割之後的第一個元素。

執行過程是:

將第一個元素"第1行第1列 第1行第2列 第1行第3列"分成三個元素:"第1行第1列" "第1行第2列" "第1行第3列",它預設只取第一個,即"第1行第1列",然後執行do後面的命令,依次類推。

但是這樣還是有侷限的,如果我們想要每一行的第二列元素,那又如何呢?

這時候,tokens跳出來說,我能做到。

它的作用就是當你通過delims將每一行分為更小的元素時,由它來控制要取哪一個或哪幾個。

還是上面的例子,執行如下命令:

for /f "tokens=2 delims= " %%i in(a.txt) do echo %%i

執行結果:

第1行第2列
第2行第2列
第3行第2列

如果要顯示第三列,那就換成tokens=3。

同時tokens支援萬用字元*,以及限定範圍。

如果要顯示第二列和第三列,則換成tokens=2,3或tokens=2-3,如果還有更多的則為:tokens=2-10之類的。

此時的命令為:

for /f "tokens=2,3 delims= " %%iin (a.txt) do echo %%i %%j

怎麼多出一個%%j?

這是因為你的tokens後面要取每一行的兩列,用%%i來替換第二列,用%%j來替換第三列。

並且必須是按照英文字母順序排列的,%%j不能換成%%k,因為i後面是j

執行結果為:

第1行第2列第1行第3列
第2行第2列第2行第3列
第3行第2列第3行第3列

對以萬用字元*,就是把這一行全部或者這一行的剩餘部分當作一個元素了。

比如:

for /f "tokens=* delims= " %%i in(a.txt) do echo %%i

執行結果為:

第1行第1列第1行第2列 第1行第3列
第2行第1列第2行第2列 第2行第3列
第3行第1列第3行第2列 第3行第3列

其實就跟for /f %%iin (a.txt) do echo %%i的執行結果是一樣的。

再如:

for /f "tokens=2,* delims= " %%iin (a.txt) do echo %%i %%j

執行結果為:

第1行第2列第1行第3列
第2行第2列第2行第3列
第3行第2列第3行第3列

用%%i代替第二列,用%%j代替剩餘的所有

最後還有skip合eol,這倆個簡單,skip就是要忽略檔案的前多少行,而eol用來指定當一行以什麼符號開始時,就忽略它。

比如:

for /f "skip=2 tokens=*" %%i in(a.txt) do echo %%i

結果為:

第3行第1列第3行第2列 第3行第3列

用skip來告訴for跳過前兩行。

如果不加tokens=*的話,執行結果為:

第3行第1列

不知道怎麼回事。

再如,當a.txt內容變成:

.第1行第1列 第1行第2列 第1行第3列
.第2行第1列第2行第2列 第2行第3列
第3行第1列第3行第2列 第3行第3列

執行for /f"eol=. tokens=*" %%i in (a.txt) do echo %%i結果是:

第3行第1列第3行第2列 第3行第3列

用eol來告訴for忽略以"."開頭的行。

同樣也必須加tokens=*,否則只會顯示"第3行第1列"



相關推薦

Windows處理命令學習

     Windows的批處理命令固然比不上unix的shell指令碼強大,但用好了仍能給我們的工作帶來很大作用。一個朋友問我為什麼學習批處理命令,我以《程式設計師修煉之道——從小工到專家》一書的一句話答覆他:圖形介面的優點是所見即所得,圖形介面的缺點是所見就是所有所得

jmeter maven自動移動jar包windows 處理命令

col 工具 lean tdi art apach director 當前 tar jmeter項目maven文件下面放這.bat 工具,可以把必要的jar包移動到jmeter響應的文件夾下面 rem 本文件放在jmeter 腳本maven項目根目錄下面,和pom.xml

處理命令學習筆記——Start命令

Start 命令 啟動另一個視窗執行指定的程式或命令,所有的DOS命令和命令列程式都可以由start命令來呼叫。 語法:START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /

WINDOWS處理命令使用大全

轉載:https://www.xuebuyuan.com/3232321.html         批處理,也稱為批處理指令碼,英文譯為BATCH,批處理檔案字尾BAT就取的前三個字母。它的構成沒有固定格式,只要遵守以下這條就ok了:每一行可視為一個命令,

Window處理命令學習筆記

批處理檔案是無格式的文字檔案,本質就是一堆DOS命令按一定順序排列而形成的集合, 它英文譯為BATCH,副檔名為 .bat 或 .cmd。在命令提示下鍵入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫Cmd.exe按照該檔案中各個命令出現的順序來逐個執行它們。使用批處理檔案(也被稱為批處理

Windows處理命令用法

閱讀下面文字需要一定的dos基礎概念,象:碟符、檔案、目錄(資料夾)、子目錄、根目錄、當前目錄 每個命令的完整說明請加 /? 引數參考微軟的幫助文件可以看到,在 /? 幫助裡,"命令副檔名"一詞會經常出現"命令副檔名"是指相對於win98的dos版本而言,每個命令新增的功能命令

windows 處理命令獲取當前碟符和當前目錄

批處理命令獲取當前碟符和當前目錄 %~d0 是當前碟符 %cd% 是當前目錄 可以用echo %cd%進行列印測試 以下例子是命令列編譯Visual Studio編寫的程式: @echo off set b=%cd% //將當前目錄儲存到引數b中,等號前後不要有空格 C: cd program

由病毒而瞭解的一些有趣的Windows處理命令

   最近,很不巧U盤中病毒了,可能在列印的時候不小心中的病毒,等到再次開啟U盤時,U盤裡所有的東西都變成了“快捷方式”,電腦自動查殺後,所有的檔案都消失了;生氣準備格式化,當看到U盤的儲存容量,依然正常,意識到,所有檔案只是被隱藏了,嘗試了幾個方法: 1

處理命令學習筆記——Choice命令

Choice 命令 使用此命令可以讓使用者輸入一個字元,從而執行不同的命令。使用時應該加/c:引數,c:後應寫提示可輸入的字元,之間無空格。它的返回碼為1234……。這個命令在有些Windows版本(比如WindowsXP)上可能不可用。語法: CHOICE:[/C[:]

處理命令學習筆記——Goto命令

Goto 命令 指定跳轉到標籤,找到標籤後,程式將處理從下一行開始的命令。語法: goto label (label是引數,指定所要轉向的批處理程式中的行。)示例: if {%1}=={} goto noparms if {%2}=={} goto noparms

處理命令學習筆記——Set命令

Set 命令 顯示、設定或刪除 cmd.exe 環境變數。語法: SET [variable=[string]] SET [[/a [expression]] [/p [variable=]] string] variable 指定環境變數名。string 指定要指派給

處理命令學習筆記——If命令

If 命令 表示將判斷是否符合規定的條件,從而決定執行不同的命令。有三種格式:1、if [NOT]"引數" == "字串"  待執行的命令 引數如果等於(或者不等於)指定的字串,則條件成立,執行命令,否則執行下一句。(注意是兩個等號) if "%1"=="a" forma

處理命令學習筆記——Echo命令

Echo 命令 打開回顯或關閉請求回顯功能(引數on或者off),或顯示訊息。如果沒有任何引數,echo 命令將顯示當前回顯設定。語法: echo [{on | off}] [message] 示例: echo off echo hello world 在實際應用

處理命令學習筆記——簡單的處理應用例項

(1) 利用 FOR 迴圈掃描 IP 地址 下面的命令使用了4個FOR巢狀,用法為:“C:\>TEST.BAT <網路地址>”。 for /l %%a in (0,1,255) do for /l %%b in (0,1,255) do (     for

處理命令學習筆記——Call命令

Call 命令 從一個批處理程式呼叫另一個批處理程式,並且不終止父批處理程式。如果命令擴充套件被啟用,call命令接受用作呼叫目標的標籤。如果在指令碼或批處理檔案外使用Call,它將不會在命令列起作用。語法: call [[Drive:][Path] FileName [

Windows處理命令32講更新中!!!

Windows批處理命令32講 —版權作者:電子科技大學宋宇超 第一講:掌握批處理檔案建立與編輯方法 1.copy con命令建立簡單批處理檔案: 為了更好地學習請嘗試執行以下步驟加深對命令的理解: (1)copy con

(二)WINDOWS處理命令詳解

該教程一共分為4大部分,第一部分是批處理的專用命令,第二部分是特殊的符號與批處理,第三部分是批處理與變數,第四部分是完整案例。因為教程比較長,所有在雜誌上我們將分為兩次連載,本期首先刊登一、二兩部分,敬請讀者注意。 第一部分:批處理的專用命令 批處理檔案是將一系列命令按一定的順序集合為一個可執行的文字檔案,其

windows 下 方便工作的bat文件處理命令

pau 批處理 目錄 刪除 lims find delayed exp LEDE 1.刪除目錄下 不包含某串字符的文件: @echo offfor /f "delims=" %%a in (‘dir /s /a-d/b *.mp3‘) do ( echo "%%~n

windows處理執行多條命令

本地環境開啟需要啟動多個服務,每次一個個啟動費時,於是寫個批處理: @echo off   start cmd /k "cd/d D:\environment\zookeeper-3.4.13\bin\ &&zkServer.cmd" start cmd /k "cd/

windows處理指令碼bat命令解析【11】rd與del命令以及引數

命令:RD,刪除目錄  增加引數:/S  引數說明:使用此引數即“RD/S”用於刪除目錄樹,即刪除目錄及目錄下的所有子目錄和檔案,相當於以前版本中的DELTREE命令。  增加引數:/Q XP中的增強DOS命令  引數說明:使用上面的/S引數刪除目錄樹時,系統