[懶人] 快速copy一個資料夾內的所有檔名http://montaigne7j.blogspot.tw/2014/03/dir.html代碼:
基本篇
Ref.1教我們可以將dos指令利用記事本產生一個執行檔,方便我們重覆執行
Example
@echo off
dir /b /on >list.txt
Comment
1. 將以上兩行字複製到記事本,另存新檔時,存檔類形改成所有格式,檔名改成 list.bat,之後執行bat檔就可以產生一個List檔
2. 可以將這個bat檔帶至任何一個需要執行這個功能的資料夾,十分方便。
3. 第一行 @echo off只是將執行的畫面隱藏起來,不放也可以。
4. 第二行 dir /b /on /s >list.txt是主要的功能,它叫電腦對此資料夾以下的檔案進行檢索,將檢索的結果存成"list.txt"檔,當然存成其他檔名也可以。
進階篇
將dir後續的指令進行置換,可以改變檢所的目標,可以改變輸出的格式
主要是參考Ref.3的詳細介紹,首先我們看看內文是怎麼說的
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: 顯示檔案大小千位數分隔符號。這是
/D:與寬的列表格式相同,但是依照欄來排序。
/L :使用小寫顯示。
/N: 使用新的長列表格式,檔名會顯示在最右方。
/O: 依照指定的排序順序來列出檔案。
sortorder
N: 依名稱 (英文字母)
S :依大小 (最小的在前)
E :依副檔名 (英文字母) D 依照日期與時間 (日期較早的在前)
G :先列出子目錄 - 表示相反的順序
/P:當資料填滿整個螢幕時暫停顯示。
/Q:顯示檔案擁有者。
/S:顯示指定目錄及所有子目錄中的檔案。
/T:指定用來顯示或排序的時間欄位
timefield
C:建立
A :上次檔案存取時間
W:上次寫入檔案時間
/W:使用寬的列表格式。
/X :顯示對非 8.3 格式的檔案產生的短檔名。
這個格式和 /N 相同,但是短檔名會插入在長檔名之前。 如果沒有長檔名存在,該處會顯示空白。
/4:顯示四位數的年份
Example
我希望列出此資料夾以下所有資料夾,以及所有子資料夾內的資料夾清單時,需要的指令如下
dir /a:d /b /on /s >list.txt
Comment
1. /a:d表示我只想列出資料夾
2. /s 表示要包含子資料夾內的資料