命令提示字元 06:承先啟後

承先啟後什麼意思?就是有一些它沒有那麼深,但卻很重要的,如第一個改變檔案屬性「attrib」:

attrib

從說明可以知道它是用來更改檔案屬性,如要新增唯讀、保存的屬性到 Test.txt :

attrib +r +a Test.txt

或取消隱藏、系統的屬性:

attrib -s -h Test.txt

知名的隨身碟病毒就是不斷的在每一個跟目錄底下新增四種屬性的檔案 Autorun.inf ,若要還原必須要同時四個一起取消,才可以使 Autorun.inf 現身。



下一個是方便閱讀用做的:

tree

就是樹狀顯示檔案,可以用「/f」來顯示子資料夾。



下一個是顯示目前執行的程式:

tasklist

參數真多!初學者只要知道有這個指令就好了,其它要用的時候再看就好了。



下一個來看看如何用命令關閉程式:

taskkill

都有範例了,但這個指令對初學者就不可以呼嚨了,先看看最基本的:

taskkill /im notepad.exe

notepad.exe 就是傳說中的記事本,可以看到它正確傳送關閉訊號。什麼是終止訊號呢?就是相當於去點擊右上角的叉叉,所以沒有存檔的記事本會跳出詢問視窗。那如果是像工作管理員中的強制關閉呢?

taskkill /f /im notepad.exe

連說明都不一樣,很明顯的差異。



下一個是顯示文字文件的內容:

type

誰會用命令提示字元來看文字文件檔案呢?對,沒有人,但電腦會。配合後面的教學,這個指令很重要。



小重點來了:

ping

先來看實例:

ping Google.com

ping 的功用就是看與對方的連線時間,如本例就是對 Google.com (其查到的 IP 為 0.0.0.0)ping 4 次,一次封包大小 32 位元組,每一次收到對方傳回來的封包小於 1 毫秒。這個命令重要在於例如:

ping 0.0.0.0

可以看出連到 0.0.0.0 是失敗。原因有很多,在這裡是因為 0.0.0.0 根本不存在(至於上面 Google.com 那是範例),每一次出錯的結果不盡相同,原因也不相同。

俗稱的「爆 ping」是指 ping 值太大,普通大於 500 毫秒就很大了;而俗稱的「掉 ping」是指不是每一個 ping 都可以傳到對方,有些會出現「目的地主機無法連線」。

在 Microsoft© Windows® 10 終於把爛翻譯修掉了,現在至少知道機械翻譯完後還是要修一下句子。接下來來看一些參數:

ping -t Google.com

就是一直 ping ,一直 ping 到使用者取消(按 Ctrl+C )為止。另外:

ping -l 1 Google.com

送大小為 1 位元組的封包,極限為 1 到 65500 。最後,也是最重要的:

ping -n 5 localhost

就是 ping 5 次嘛!有什麼重要的?在舊版的命令提示字元中,沒有暫停幾秒的功能,現在還是可以在一些要符合 Windows XP 以前的作業系統運作而留下程式碼,用「-n 5」來暫停五秒。但在之後就有「timeout」:

timeout

「timeout」確實比較好用,因為「ping」在一定的場合會失效,像是没有網路卡的時候。



其它需要介紹的指令:

tracert

傳回到遠端電腦中間每一個路由器,英文是「Trace Route」,不要搞錯了。但傳回是路由器裡面的記錄,不一定是真實路徑,就留給有興趣的人自己去玩看看了。



最後來一個莫名其妙的指令:

rem

它已經先說了這是批次檔會用到的,但現在也可以試看看。這個指令就是把這行命令當作註解,不會去執行。



這一章的指令非常常用,所以希望讀過之後可以記起來,下次再用時就不會不知道是哪一個指令。這章是在說一些常用卻簡單的指令,這意味著下一章會開始難了。事實上到這邊都沒有很深入,也都很好懂,但這些東西是不能做什麼的,至少要到下一章才可以生出一些像樣的東西。



下一章:符號總輯




  • 2012-09-11 初次發佈。
  • 2017-07-12 更新成 Windows 10 的版本。

5 則留言:

  1. 請問版主:
    我輸入attrib -h *.*結果出現了
    尚未重設系統檔案……….dat.LOG!
    尚未重設系統檔案……….DAT{6ccd………}
    請問那些檔案是什麼?可以用 del 命令強制刪掉嗎?
    還有一個問題
    taskkill /f /im *.exe
    是不是所有的程式都會關掉?
    謝謝版主!

    回覆刪除
    回覆
    1. 第一個問題
      *.* 會把所有看得到檔名有 . 的檔案全部加上隱藏屬性(-h)
      而你(妳)所執行的目錄有一些系統檔(-s)
      所以他不會對那些檔案更改屬性
      可以先用 dir 看一下有什麼系統檔案

      第二個問題
      在微軟的說明裡面有說到
      只有在使用 /fi 指令的時候 /im 才可以使用萬用字元(*)

      刪除
  2. 如果要説的話
    *nix 有一個好指令 dig
    比 nslookup 可以看更多資訊

    cmd 提供的實在是太少了

    回覆刪除
  3. Attrib 後面的參數 OIXVPU 請問是用在甚麼時候呢?

    回覆刪除
    回覆
    1. 没用過,不知道!

      在 Windows 10 之後多了很多屬型,把原本就有點複雜的權限弄得更加無法理解
      基本上常用的就是 RASH

      刪除

定時會整理。