ลิสต์รายชื่อไฟล์ทั้งหมดในโฟลเดอร์ที่จะนำเสนอในครั้งนี้ จะใช้คำสั่ง dir ใน command prompt (หรือ dos) ซึ่งจะใช้แสดงรายการไฟล์และโฟลเดอร์ทั้งหมดออกมา
คำสั่ง dir ก็คือ directory เป็นอีกคำเรียกหนึ่งของ folder ที่เราคุ้นเคยกันนั่นเอง คำสั่งนี้จะช่วยแสดงชื่อไฟล์และโฟลเดอร์ที่อยู่ในโฟลเดอร์ (หรือ directory) ที่ต้องการ
ด้านล่างจะค่อย ๆ อธิบายคำสั่ง dir แบบละเอียดว่าแต่ละพารามิเตอร์ใช้ทำอะไร แต่ถ้าอยากได้ คำสั่ง ลิสต์รายชื่อไฟล์ สำเร็จรูปพร้อม copy ไปใช้งาน โปรดเลื่อนไปดูด้านล่างสุด
เนื้อหาโดยรวม :)
ลิสต์รายชื่อไฟล์ ด้วย dir
ลองเปิด command prompt ขึ้นมา โดยปกติแล้ว จะขึ้น path ของ root folder ผู้ใช้คอมพิวเตอร์เครื่องนั้น (เช่น C:\user\ชื่อ)
ลองพิมพ์ dir ลงไปตรง ๆ
สิ่งที่แสดงข้างบนจะเป็น ชื่อไดร์ฟ ซีเรียลนัมเบอร์ของฮาร์ดดิสต์ ตามด้วยชื่อไฟล์แบบเต็ม (คือมีสกุลไฟล์ต่อท้าย) และโฟลเดอร์ทั้งหมดที่มี พร้อม วันที่และเวลา ที่มีการอัปเดตไฟล์หรือโฟลเดอร์นั้นล่าสุด มีขนาไฟล์ (หนวยเป็น bytes) ปิดท้ายด้วยสรุปจำนวนไฟล์และโฟลเดอร์ จำนวนเนื้อที่ที่ยังว่างอยู่ในฮาร์ดดิสต์นั้น
สิ่งที่แสดงคือ ไฟล์และโฟลเดอร์ย่อย ที่อยู่ใน directory หรือ folder หลัก (เช่น C:\user\ชื่อ) ถ้าเราต้องการแสดงรายชื่อไฟล์หรือโฟลเดอร์ย่อย ที่อยู่ในโฟลเดอร์อื่น เราต้องกำหนด path ไว้ด้วย
เช่น เราต้องการแสดงข้อมูลไฟล์ที่อยู่ใน D:\Temp เราต้องใช้คำสั่งนี้
Dir D:\Temp
หรืออาจจะย้ายตำแหน่งโฟลเดอร์ไปเลย คือใช้คำสั่ง cd (current directory) เพื่อกำหนด directory ที่ทำงาน ในตัวอย่างนี้จะเปลี่ยน root ไปยัง D:\Temp ก็ใช้ cd/d ต่อด้วย path ของจุดหมายปลายทาง เช่น เวลาเปิด command prompt ขึ้นมา จะขึ้น C:\Users\ชื่อ ถ้าเราจะเปลี่ยนเป็นไปที่ D:\Temp ก็พิมพ์
cd/d D:\Temp
เมื่อไปอยู่ในโฟลเดอร์ที่ต้องการแล้ว หากต้องการลิสต์รายชื่อไฟล์ ที่อยู่ใน D:\Temp\ ลองพิมพ์
dir
พอกด enter ก็จะได้รายชื่อไฟล์ทั้งหมดที่อยู่ใน D:\Temp\ ตามภาพ
หมายเหตุ directory . (dot) เป็น current directory, ส่วน .. (dotdot) เป็น parant directroy
Parameters
ถ้าพิมพ์แค่ dir จะแสดงเฉพาะสิ่งที่อยู่ในโฟลเดอร์หลัก “ชั้นเดียว” คือ ถ้าเราเปิดโฟลเดอร์ D:\Temp\ ก็จะเจอแบบนี้ ไม่ได้ลงลึกไปถึงโฟลเดอร์ย่อยและไฟล์ต่าง ๆ ที่อยู่ในโฟลเดอร์ย่อยเหล่านั้น ซึ่งต้องกำหนดพารามิเตอร์เฉพาะเจาะจง
สำหรับการกำหนดรูปแบบการแสดงรายละเอียดเฉพาะเจาะจง ในคำสั่ง dir จะมีแบบนี้
พารามิเตอร์หลัก
คำว่าหลัก นี่หมายถึงตัวเองใช้บ่อย แต่สำหรับบางท่านอาจจะไม่ค่อยได้ใช้ก็ได้ จะมีอยู่สองคำสั่งคือ
/s จะลงลึกไปที่โฟลเดอร์ย่อยทุกโฟลเดอร์ที่อยู่ในโฟลเดอร์หลักที่กำหนด
/b จะแสดงเฉพาะรายชื่อไฟล์เท่านั้น โดยจะไม่มีรายละเอียดอื่น เช่น ชื่อฮาร์ดดิสต์ สรุปจำนวนไฟล์ วันเวลาที่อัปเดตล่าสุด
พารามิเตอร์อื่น
นอกเหนือจาก 2 พารามิเตอร์ข้างต้นแล้ว ยังมีพารามิเตอร์อื่น ๆ เช่น
- /l (ตัว L ไม่ใช่ I) ถ้าอยากให้ชื่อไฟล์หรือโฟลเดอร์เป็นตัวพิมพ์เล็กทั้งหมด
- /p แสดงทีละหน้า
- /q แสดง metadata ด้วย
- /w แสดงรายชื่อไล่ไปตามความกว้าง (จะไม่ไล่ลงไปด้านล่างแบบปกติ)
- /d เหมือนกับ w แต่จัดเป็นคอลัมน์
พารามิเตอร์เรียงลำดับ
เราสามารถใช้คำสั่ง dir แสดงผลเรียงลำดับได้ โดยใช้คำสั่ง
/o
ซึ่งจะมีคำสั่งย่อยดังนี้
- n เรียงตามลำดับตัวอักษร
- e – เรียงตามสกุลไฟล์ (file extension)
- g – เอาโฟลเดอร์ขึ้นก่อน
- s – เรียงตามขนาดไฟล์ จากขนาดเล็กสุดไปหาใหญ่
- d – เรียงตามวันเวลา เก่าสุดขึ้นก่อน
/t สำหรับเรียงลำดับตามเวลา ซึ่งจะมีพารามิเตอร์ย่อยดังนี้
- a จะเป็นเรียงลำดับตามเวลาที่เข้าถึงล่าสุดก่อน
- c จะเรียงตามเวลาที่สร้างไฟล์หรือโฟลเดอร์นั้น
- w จะเรียงตามลำดับที่มีการอัปเดตล่าสุด
เลือกแสดงเฉพาะไฟล์ที่มีคุณสมบัติตามที่กำหนด
เราสามารถคัดกรองเลือกเฉพาะไฟล์บางชนิดเท่านั้นได้
เลือกแสดงไฟล์ตามคุณสมบัติ attribute
มีคำสั่งเกี่ยวกับ attribute โดยเฉพาะ โดยต้องใช้คำสั่ง
/a
ซึ่งหลังจากตัว a ให้ใช้คำสั่งย่อยตาม attribute เพื่อระบุให้แสดงอย่างที่ต้องการได้ เช่น
r คือแสดงไฟล์ที่กำหนดเป็น read-only เอาไว้
h คือแสดงไฟล์ที่ซ่อนไว้ (hidden files)
a คือแสดงไฟล์ที่ archiving ไว้ (ซอฟต์แวร์แบ็กอัปสมัยก่อนบางครั้งจะมีการตรวจสอบ attribute นี้เพื่อตัดสินใจว่าจะแบ็กอัปไฟล์หรือโฟลเดอร์นี้หรือไม่ แต่การใช้งานปัจจุบันไม่ค่อยพบว่ามีอะไรใช้ attribute นี้เท่าไหร่
s คือแสดง system file ตรงนี้จะคล้ายกับ /s ที่แสดงโฟลเดอร์ย่อยที่เขียนไปแล้ว แต่ในที่นี้จะใช้ร่วมกับ a เป็น /as
i คือแสดง indexed file – file ที่ทำ index ไว้
d คือแสดงเฉพาะโฟลเดอร์0
(จะเป็นแบบเดียวกับที่เคยเขียนถึงในเรื่อง ไวรัสซ่อนไฟล์ ที่ให้แก้ไข Attribute)
แสดงเฉพาะสกุลไฟล์ที่ต้องการ
คำสั่ง dir สามารถใช้ * (ดอกจัน หรือ asterisk) เป็น wildcard ได้ เช่น ถ้าเราต้องการเฉพาะไฟล์ที่เป็น .doc เราสามารถเขียน
dir *.docx
ลิสต์รายชื่อไฟล์เฉพาะที่มีสกุลไฟล์เป็น .docx ทั้งหมดออกมา
การใช้งาน
คำสั่ง dir ไม่มีอะไรซับซ้อน เช่น ถ้าเราใช้คำสั่ง
dir /ad
จะได้ผลลัพธ์เป็นรายชื่อโฟลเดอร์ย่อย ที่อยู่ในนั้น แต่ถ้าว่า เราใส่ – (ขีดกลาง หรือ เครื่องหมายลบ) ไปใช้จะเป็นตรงข้าม เช่น
dir /a-d
ก็จะได้ผลลัพธ์เป็นรายชื่อไฟล์ ไม่มีโฟลเดอร์
และเราสามารถเอาไปผสมกับค่าพารามิเตอร์อื่น ก็ได้ เช่น ต้องการแต่รายชื่อไฟล์ โดยไม่เอาชื่อโฟลเดอร์ด้วย ก็จะเขียนเป็น
dir/b /a-d
หรือ ถ้าองการแต่รายชื่อไฟล์ ไม่เอาชื่อโฟลเดอร์ และให้เรียงลำดับตามขนาดไฟล์ ด้วย ก็จะเขียนเป็น
dir/b /a-d /os
แบบนี้เป็นต้น
ถ้าไม่มีไฟล์ตามคุณสมบัติที่ระบุไว้จะแสดงผลว่าไม่พบ (Not Found)
TIP: หากจำไม่ได้ว่าคำสั่งไหนใช้อะไร ให้ใส่ /? ตัวนี้จะแสดงรายละเอียดว่าแต่ละคำสั่งใช้ทำอะไร
อาจจะมีอย่างอื่นอีก ลองอ่านได้ที่เว็บของไมโครซอฟต์
ลิสต์รายชื่อไฟล์
จากที่เขียนไปข้างต้น ถ้าเอามารวมกัน แล้ว เราก็สามารถลิสต์รายชื่อไฟล์ทั้งหมด (รวมถึงโฟลเดอร์ย่อยและไฟล์ที่อยู่ในโฟลเดอร์ย่อยด้วยคำสั่ง
Dir /s /b *.pdf
ซึ่งถ้าเราต้องการให้ส่งข้อมูลรายชื่อเหล่านั้น เป็น textfile สำหรับเอาไปใช้งานต่อ ก็เขียนเพิ่มเป็น
Dir /s /b *.pdf > db.txt
เพียงเท่านี้ก็เรียบร้อย