2014年8月5日 星期二

CMD命令字元 CD、MD、RD、DIR

  cd、md、rd、dir是最最最常用的四個指令,尤其是cd與dir,你會發現到你每打兩、三個指令,一定有一個是這兩個指令的其中一個。
1). CD:顯示目前目錄的名稱或變更。
  CD這個指令和音樂CD一點關係都沒有,「Change Directory」是它的原義,意思就是「變更目錄」。我們都會使用CD指令來切換、遊走於電腦裡的各資料夾,如下圖,一開始開啟「命令提示字元」時,此時的「命令提示字元」是「C:\Documents and Settings\EndUser>」,我們都是在這個大於符號「>」的右邊開始輸入指令;而大於符號「>」左方的「C:\Documents and Settings\EndUser」代表是目前所在的資料夾。














第一個示範指令:「cd\」
  當我在「C:\Documents and Settings\EndUser>」的命令提示字元之後,輸入「cd\」時,下一行的命令提示字元就變成「C:\>」了。「cd\」的意思就是切換到「根目錄」,不管我們處在電腦的任一資料夾內,只要輸入「cd\」之後,一律都是回到「根目錄」。補充說明一下,「目錄」和「資料夾」可以說是一樣的東西,因為以前在DOS都將「資料夾」稱做「目錄」,像「根目錄」、「子目錄」。
  另外一個補充說明就是「C:\」及「cd\」的那個斜線「\」,這個第一個斜線和路徑之後的第二個斜線(C:\Documents and Settings\EndUser>)有著不一樣的意義,這個斜線代表「根目錄(root)」的意思,所以輸入「cd\」,才會來到「根目錄」,這個之後你就可以體會到了。
  (註:當你進入到「復原主控台(電腦突然就不能開機了?NTLDR is missing)」時,你會發現到「cd\」不能執行,這時請你在「cd」與斜線「\」的中間使用「空白鍵」隔開,就像「cd \」這樣)。
   第二個示範指令:「cd\windows」
  「cd\windows」的意思是切換到「windows」的目錄,事實上如果你是處在「C:\>」的話,想要進入windows目錄的話,你也可以輸入「cd windows」,就可以進入到windows目錄裡,而這兩個指令差一個「斜線」有什麼差別呢? 還記得上一段說到的第一個斜線「\」代表的就是「根目錄」的意思嗎?所以當你打了cd\windows後,電腦就會從「根目錄」開始找「windows」資料夾,如果有的話,就會進入,如果沒有找到的話,就會出現錯誤訊息。
  所以「cd\windows」與「cd windows」的差別就是「cd\windows」會進入根目錄裡面的windows資料夾,所以不管你目前處在電腦的任何一個資料夾,只要輸入這個指令,最後都還是會來到「C:\windows」資料夾裡;而「cd windows」則會進入目前路徑裡面的windows資料夾,由於輸入這個指令時是位於「C:\」,也就是在C槽的根目錄底下,所以當輸入「cd windows」時,就會C:\裡的windows資料夾,不過如果你是在電腦裡其它的路徑輸入這個指令時,可是無法進入到「C:\windows」資料夾裡的喔!
  如下圖,若要使用「cd windows」的話,要先到C:\根目錄,才有辦法進入windows資料夾。












在任何的路徑下使用「cd\windows」都可以到達C:\windows。











「cd windows」想要學「cd\windows」 ,可是一按enter,就撞到牆壁了(系統找不到指定的路徑。),它還是先使用cd\回到根目錄後,再執行這個指令吧!












2). MD與RD:MD(Make Directery)建立子目錄、RD(Remark Directory)移除子目錄。
  和「CD」比起來,MD和RD的用法很單純、也很簡單,下圖使用「md newfolder」來建立一個「newfolder」的資料夾(目錄) ,輸入之後再用「dir」來查詢「newfolder」是否建立出來了。















建立之後,緊接著使用「rd newfolder」來移除剛剛建立好的「newfolder」目錄,最後再用「dir」查詢,結果,「newfolder」真的不見了。















3). DIR:顯示目錄中的檔案和子目錄清單。
  DIR這個指令會開始使用「參數」,最常用的參數有四個「/w」、「/p」、「/a」及「/s」。dir不加參數的樣子就如上圖所示,就一列下來,每列會顯示「檔案建立的時間」、「是檔案或是資料夾」、「容量大小」和「檔名或資料夾名稱」,這我們已經看過很多了。
  第一個示範指令:「dir/w」
  而第一個示範指令dir/w,這個/w就是指wide的意思,也就是會將檔案以「橫列」的方式顯示出來,如下圖,這樣的好處是可以在一個視窗中一次顯示更多的檔案或是資料夾

  






第二個示範指令:「dir/p」
  下圖打「dir/p」指令時,你會發現到結果好像和「dir」是一樣的,這兩個有什麼差別呢?其實這個「/p」的p代表是page,也就是會「分頁」,當檔案及資料夾數量很多且會超出一個螢幕可以顯示的範圍時,它就會以分頁的方式下去顯示,讓你一頁一頁的下去瀏覽所有的檔案及資料夾。要補充的是有個「<DIR>」這個東西代表的就是這一個是「目錄」的意思,若是那一欄沒有「<DIR>」就代表那一行是一個「檔案」














要實驗這個指令最好的地方,就來到C:\windows裡吧! 那裡有好多的資料夾及檔案喔! 你可以輸入「cd\windows」來到C:\windows資料夾中,然後再輸入「dir/p」來試試看吧!
  第三個示範指令:「dir/a」
  「dir/a」這個指令如果你有看過我部落格其它的文章的話,你應該會不陌生,這個在「隨身碟病毒與無法顯示所有的檔案」裡有用到,在Windows中看不到隱藏檔沒關係,只要到Dos來輸入「dir/a」,病毒就拿你沒輒,任何隱藏檔都無所遁形(事實上也只有一種而已啦!)。要實驗這個指令就到C:\底下吧!

  

























第四個示範指令:「dir/s」
  接著是「dir/s」,你可以在C:\底下輸入「dir/s」試看看,會發生什麼事呢?是不是一頁一頁速度很快的一直顯示檔案呢?
  不過這樣似乎做似乎沒有什麼意義,除了很酷之外。這個指令通常有二種用法,第一種是配合使用「/p」來瀏覽此目錄中所有檔案及資料夾,以及資料夾裡的檔案和資料夾,and so on以此類推,也就是輸入指令「dir/p/a」。
  第二種就是要「找檔案」,通常會輸入「dir 要找的檔名 /s」,例如:「dir winlogon.exe /s」 ,請看以下的示範:























上圖中,一開始我切換到了C槽的根目錄底下,輸入「dir winlogon.exe」,結果出現「找不到檔案」,當然找不到檔案,這是正常的,因為C槽的根目錄底下不可能會有「winlogon.exe」這個檔案的,如果有的話,那個是病毒,殺掉它吧!
  結果我加上「/s」之後,dir指令就會去找C:\之下的所有的資料夾及檔案,來看看有沒有winlogon.exe這個檔案,結果,找到了二個winlogon.exe,分別位於
C:\WINDOWS\system32」裡及
C:\WINDOWS\system32\dllcache」裡。

  第五個示範指令:「dir/p/s」
  四個參數都示範完後,接下來就要示範混合的使用參數,「參數」它可以同時使用,譬如說:
  「dir/a/w」以「橫式」顯示檔案(含隱藏檔)。
  「dir/w/p」以「橫式」且「分頁」來顯示檔案。
  「dir/a/w/p」以「橫式」且「分頁」來顯示檔案(含隱藏檔)。
  「dir/w/p/a/s」以「橫式」、「分頁」來顯示所有目前資料夾以下的檔案及資料夾裡的所有檔案(含隱藏檔)。
  你可以自己混著試試看到一個指令的效果。

CMD命令字元 REN、TYPE、ATTRIB

  當在命令提示字元中輸入「help ren」就可以了解到REN指令的用途,由說我們可以了解到這個指令是在「更改檔案名稱」的。而這個指令還有一個之前都還沒有接觸到的觀念,就是我們會在指令的後方指定「來源」及 「目的」兩個東西,之前教到的指令,後方都是只有一個東西,甚至沒有東西(不算參數的話)。

  第一個示範指令:「ren 來源檔案 目的檔案」
  一樣我們還是找之前的三位Tony大哥來做示範, 這三位分別是「tony.txt」及「tony0001.txt」及「tony0002.txt」,因為「tony.txt」沒有被編號,所以我想要把它改成「tony0003.txt 」第三號的tony,所以根據指令的格式,我應該這樣下「ren  tony.txt tony0003.txt」,如下圖的執行結果:

  













第二個示範指令:「ren 來源檔案 目的檔案」(加入萬用字元*)
  有時候要是有多個檔案要更改的話,一個一個改會很累,抓住每個檔案的相同之處,我們可以一次一個指令就搞定。例如:我要將三位tony的副檔名「txt」,全換成「abc」,我就可以這樣下指令「ren tony*.* tony*.abc」
  第一個星號(*):代表tony的0001、0002及0003;
  這二個星號(*):代表任何副檔名,在這當然是代表txt;
  第三個星號(*):也是代表tony的0001、0002及0003。
  上個例子也可以這麼下「ren tony*.txt tony*.abc」會有一樣的結果。

  我們已經將三位tony改成abc了,那如果我還要將這三位改回來呢?
  我就可以這麼下「ren *.abc *.txt」,它就會將所有副檔名是abc的檔案,全都將它的副檔名改回「txt」。同樣的你也可以這麼下「ren tony*.abc *.txt」。上面所述如下圖:

  














第三個示範指令:「ren 來源資料夾 目的資料夾」
  ren除了可以改檔名之外,它其實也可以更改資料夾的名稱。
  如下圖的示範,一開始我用「md tonyhouse」建立了一個叫「tonyhouse」的資料夾,按「dir/w」指令會看到有個中括號將tonyhouse框起來的東西([tonyhouse]),那個代表的就是資料夾的意思。
  接著,我下了一行指令「ren tonyhouse andyhouse」,最後原本的「tonyhouse」就變成「andyhouse」了。
















6). TYPE:顯示文字檔案的內容
  「type」這個指令只要在它的後面加上文字檔的名稱,就可以顯示文字檔的內容,如下圖:

  








若你真的按奈不住,一直想用type指令來看「非文字檔」的話,你就試試看吧! 如下圖,我type了一個ntdetect.com執行檔,結果...真的是很精彩吧!
















7). ATTRIB:顯示或變更檔案屬性
  attrib這個指令經常的在我的文章裡出現,如「隨身碟病毒與無法顯示所有的檔案」,可見這個指令也是相當的常用,我也忘記在哪篇文章有說過,在Dos中,檔案有四種屬性,分別為「A保存」、「S系統」、「R唯讀」及「H隱藏」,我們可以用「+」來幫檔案加入屬性,用「-」來幫檔案去除屬性,還是不懂嗎?我來舉幾個例子你就會知道了。

  第一個示範指令:「attrib」  
  只輸入一個attrib指令,後面什麼東西都不加的話,會顯示出目前所在的資料夾內所有的檔案屬性,如下圖,你可以看到,不管是tony的文字檔,還是andy文字檔,它們的檔案屬性都只有「A」,也就是說,這些目前的檔案屬性是「保存」的意思。

 










 第二個示範指令:「attrib +r tony0001.txt」
  接下來我將示範如何替「一個檔案」加上「一個屬性」,以
「attrib +r tony0001.txt」這個例子,就是要幫「tony0001.txt」加上「R」這個唯讀屬性,如下圖:












你應該可以看到,當我下完那個指令後,我接著下了刪除的指令,就是要試試看「唯讀」屬性是否發揮作用了,你可以很清楚的看到,當我下完del刪除指令之後,出現了「D:\Dos\tony0001.txt 存取被拒。」的訊息,意思就是代表「tony0001.txt」不給殺,也就是「R」唯讀屬性發生作用了。
  同樣的,如果我要把加上去的「R」屬性去除,就下
「attrib -r tony0001.txt」。


  第三個示範指令:「attrib +r +h +s tony0001.txt」
  attrib指令一次只能添加一個屬性嗎?NoNoNo,attrib一次甚至可以加入「四個屬性,如「attrib +r +h +s +a tony0001.txt」,也可以一次將屬性完全去除,如
「attrib -r -h -s -a tony0001.txt」。


  第四個示範指令:「attrib +r +h +s tony*.txt」
  一次只能對一個檔案做動作嗎?NoNoNO,當然也是可以使用萬用字元,一次對多個檔案來做動作,例如「attrib +r +h +s tony*.txt」,這個指令會對所有的符合「tony*.txt」的三個檔案「tony0001.txt」、「tony0002.txt」及「tony0003.txt」做添加「R」、「H」及「S」的動作。


  寫到這邊,文章又拖的太長了,看來最後的三個指令「DEL、COPY、XCOPY」又要延到下一篇了。