2007年9月10日 星期一

將目錄結構下所有檔案以清單方式輸出 - CMD指令應用



某天上班時,部門裡的助理小妹跑來求助,原來是稽核忽然要查半年前的資料,

需要以紙本/電子檔的方式輸出,其實也沒有什麼,用檔案總管開啟目錄用

[alt]+[PrintScreen] 貼在小畫家或是 MS-WORD裡,有檔案結構、可以印的出來變成紙本、

當然也是電子檔,沒人說圖檔不是電子檔吧,符合需求了吧~ (只是不能編輯而已 :p )




"不行~",原來倒不是不接受這種格式,而是實際操作起來還是困難的,原因是檔案太多,

子目錄也太多,一個畫面copy不完,而且各個子目錄一層層下去不知道要點到什麼時候,助

理也是已經忙了三個多小時,實在受不了才跑來討救兵。




還好從 DOS時代開始玩電腦,這點小事還難不倒我,Windows雖然已與DOS相去甚遠,但基本的

COMMAND控制上大體上還是相容的,這次就用DOS指令來解決這個問題吧~




首先在 [開始] -> [執行] -> 打入 cmd 按確定,就會開啟 DOS指令模式,這次我們用 DIR

這個指令來達成這個目標,先切換到該目錄下,然後執行:







DIR /S /A:-D /B /O:N > list.txt






之後在那個目錄下找到 list.txt就是結果了。



有興趣了解更多指令的用法可用 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]
              指定要顯示的磁碟機、目錄或檔案。

  /A          依照指定的檔案屬性來顯示檔案。
  attributes   D  目錄                R  唯讀檔
               H  隱藏檔              A  保存檔
               S  系統檔案            -  無意義
  /B          使用單純格式 (沒有標頭資訊或摘要)。
  /C          顯示檔案大小千位數分隔符號。這是
              預設值。  使用 /-C 來停用分隔符號的顯示。
  /D          與寬的列表格式相同,但是依照欄來排序。
  /L          使用小寫顯示。
  /N          使用新的長列表格式,檔名會顯示在最右方。
  /O          依照指定的排序順序來列出檔案。
  sortorder    N  依名稱 (英文字母)   S  依大小 (最小的在前)
               E  依副檔名 (英文字母) D  依照日期與時間 (日期較早的在前)
               G  先列出子目錄        -  表示相反的順序
  /P          當資料填滿整個螢幕時暫停顯示。
  /Q          顯示檔案擁有者。
  /S          顯示指定目錄及所有子目錄中的檔案。
  /T          指定用來顯示或排序的時間欄位
  timefield   C  建立
              A  上次檔案存取時間
              W  上次寫入檔案時間
  /W          使用寬的列表格式。
  /X          顯示對非 8.3 格式的檔案產生的短檔名。
              這個格式和 /N 相同,但是短檔名會插入在
              長檔名之前。 如果沒有長檔名存在,該處會
              顯示空白。
  /4          顯示四位數的年份
  
參數可能會在 DIRCMD 環境變數預先設定。您可以在任何參數使用連字號字首(-)
來覆蓋預先的設定--例如: /-W。

 









...待續


3 則留言:

  1. Hi,
    有試過用Tree嗎? 助理小妹圖呢?

    回覆刪除
  2. 哈~ 的確用 Tree 是更容易看的懂, 當初原本寫這篇是因為輸出的檔案是要讓電腦看的, 用DIR可以把每一層都有完整路徑秀出,晚點再補一篇Tree的,人類還是看Tree更易懂.

    小妹的圖就不方便公布了, 不過人說18無醜女, 對吧~ :)

    回覆刪除