นักพัฒนาและโปรแกรมเมอร์จะมี productivity tool ตัวนึงที่ทุกคนต้องใช้ให้เป็น เรียกว่าจำเป็นต่อการทำงาน วันไหนไม่ได้ใช้ วันนั้นนอนไม่หลับเลย 555+ tool นั่นคือ Command Line หรือชุดคำสั่ง text-based สำหรับทำงานบน Windows/ Mac/ Linux OS แบบไม่ต้องใช้เม้าส์ หรือพึ่ง Graphical User Interface (GUI) เลย
ถ้าเขียน Command Line เป็น ก็จะสามารถทำงานต่างๆได้เร็วขึ้น ไม่เชื่อ ลองอ่านดู!

บทความนี้แอดจะมาอธิบายวิธีการเขียน Command Line พื้นฐานสำหรับจัดการไฟล์และโฟลเดอร์ใน Windows OS (i.e. basic file navigation) อ่านจบทำเป็น รู้เรื่อง 😛
- echo
- dir
- cd
- mkdir
- rmdir
- move
- del
- cls
Note – การเขียน command line บน Windows เปรียบเทียบกับ Mac/ Linux จะมีความแตกต่างกันพอสมควร บทความวันนี้เราอธิบายเฉพาะของ Windows เท่านั้น ถ้าใครสนใจเรียน command line ของ Mac ลองดูที่นี่
Open Command Prompt
คลิกที่ไอคอน Windows > พิมพ์ “cmd” จะได้หน้าตาตามรูปด้านล่าง

เปิดโปรแกรมขึ้นมาจะเจอหน้าต่างสีดำแบบนี้ (Windows เรียกว่าหน้าต่างนี้ว่า Command Prompt ส่วนฝั่ง Mac/ Linux จะเรียกว่า Terminal)

dir
คำสั่งแรกชื่อว่า dir (ย่อมาจาก directory) คือการแสดงไฟล์ทั้งหมดที่อยู่ใน directory ปัจจุบัน ใน Windows ปกติเวลาเปิด command prompt ครั้งแรก default path จะอยู่ที่ C:\Users\YourName
วิธีเขียน command line ก็ง่ายๆ พิมพ์คำสั่งหลังเครื่องหมาย > ได้เลย
C:\Users\Toy> dir

เราสามารถเรียกดู document วิธีการเขียนแต่ละ command แค่พิมพ์ help ตามด้วยชื่อคำสั่งที่ต้องการ
C:\Users\Toy> help dir
cd
คำสั่ง cd (ย่อมาจาก change directory) คือการเปลี่ยนโฟลเดอร์ พิมพ์คำสั่ง cd ตามด้วยชื่อโฟลเดอร์ที่เราต้องการย้ายไปเสร็จแล้วเคาะ Enter ตัวอย่างด้านล่างเราย้ายจาก \Toy ไปที่ \Toy\Desktop
C:\Users\Toy> cd Desktop
C:\Users\Toy\Desktop
ถ้าต้องการย้าย working directory กลับไปที่โฟลเดอร์ก่อนหน้า พิมพ์ cd ..
C:\Users\Toy\Desktop> cd ..
C:\Users\Toy>
mkdir
คำสั่ง mkdir ใช้สร้างโฟลเดอร์ใหม่ พิมพ์ mkdir ตามด้วยชื่อโฟลเดอร์ที่ต้องการ ทำไมมันง่ายอย่างนี้!
C:\Users\Toy\Desktop> mkdir new_folder
rmdir
ถ้าเราต้องการลบโฟลเดอร์เปล่า (empty folder) ให้เราพิมพ์คำสั่ง rmdir ตามด้วยชื่อโฟลเดอร์นั้น
C:\Users\Toy\Desktop> rmdir new_folder
แต่ถ้าโฟลเดอร์นั้นมีข้อมูลหรือไฟล์งานต่างๆอยู่ข้างใน ให้เราพิมพ์พารามิเตอร์ /s ต่อจากชื่อโฟลเดอร์ด้วย command prompt จะถามว่า “Are you sure (Y/N)?” แน่ใจหรือเปล่าที่จะลบโฟลเดอร์นี้ ถ้าต้องการยืนยันคำสั่งให้เคาะปุ่ม Y หนึ่งครั้งและกด Enter
C:\Users\Toy\Desktop> rmdir new_folder /s

คำสั่ง rmdir /s จะลบทั้งโฟลเดอร์ (รวมถึงไฟล์ทั้งหมดในโฟลเดอร์) ออกจากคอมพิวเตอร์เลย ไม่ได้ไปอยู่ที่ Recycle Bin ต้องเช็คดีๆก่อนลบไฟล์อะไรก็ตาม (i.e. command prompt ไม่มีปุ่ม undo!)
move
คำสั่ง move ใช้ย้ายไฟล์ไปที่โฟลเดอร์ที่เราต้องการ ตัวอย่างด้านล่างเราย้ายไฟล์ data.csv ไปที่โฟลเดอร์ tmp บนหน้าจอ Desktop
C:\Users\Toy\Desktop> move data.csv tmp
del
คำสั่ง del (ย่อมาจาก delete) จะลบไฟล์ออกจากคอมพิวเตอร์เลย ทำงานเหมือนคำสั่ง rmdir ก่อนลบอะไรต้องเช็คดีๆ ถ้าชื่อไฟล์มีการเคาะ space ตรงกลาง ให้เราพิมพ์ชื่อไฟล์ใน double quote เช่น del “my data.csv”
C:\Users\Toy\Desktop> del data.csv
C:\Users\Toy\Desktop> del "my data.csv"
echo
คำสั่ง echo ทำงานเหมือนกับฟังชั่น print() ในภาษาอื่นๆ ใช้แสดงข้อความ text ใน command prompt เช่น echo Hello World (ข้อความ/ ประโยคไม่จำเป็นต้องอยู่ใน quote เหมือนเวลาเขียน Python/ R)
C:\Users\Toy\Desktop> echo Hello World
เราสามารถสร้าง text file ง่ายๆด้วยคำสั่ง echo ได้เลย พิมพ์ข้อความ text ที่ต้องการ ตามด้วย >> และชื่อไฟล์ hello.txt ถ้าต้องการปริ้นข้อมูลในไฟล์ .txt ให้พิมพ์คำสั่ง type hello.txt
C:\Users\Toy\Desktop> echo Hello World >> hello.txt
C:\Users\Toy\Desktop> type hello.text

cls
เราสามารถเคลียร์หน้าจอ command prompt ด้วยคำสั่ง cls
C:\Users\Toy\Desktop> dir
C:\Users\Toy\Desktop> cls
Run Python in CMD
แถม! ถ้าเราติดตั้ง Python ใน Windows แล้ว เราสามารถเรียกใช้งาน Python ใน command prompt ง่ายๆแค่พิมพ์ว่า python
ใน console เพื่อเรียก Python interpreter ขึ้นมา (ของแอดเพิ่งลง Python 3.8 มาเลย)
C:\Users\Toy> python

ทดลองเขียน Python ง่ายๆใน command prompt
>>> 1 + 1
2
>>> print("Hello World")
Hello World
>>> import numpy as np
>>> np.array([1, 2, 3, 4, 5]) * 10
array([10, 20, 30, 40, 50])
ถ้าต้องการออกจาก Python กลับสู่ command prompt ปกติ ให้พิมพ์ฟังชั่น quit()
สรุปเรื่อง Command Line
บทความวันนี้ ทุกคนได้รู้จักกับ Windows Command Line ที่นักพัฒนาและโปรแกรมเมอร์ (สาย Windows) ใช้เป็นประจำ: dir cd mkdir rmdir move del echo cls

ถ้าเรารู้ command line เราสามารถสั่งงานคอมพิวเตอร์ Windows ของเราได้แทบจะทุกอย่างเลย ตัวอย่างเช่น การทำ disk defragment จัดเรียงไฟล์ใน drive C: หรือ D: เพื่อช่วยให้คอมเร็วขึ้นด้วยคำสั่ง defrag
C:\Users\Toy> defrag C: /U /V
/U และ /V เรียกว่า parameter หรือ option ไว้ปรับ command line นั้นๆ ส่วนใหญ่ command จะมีอย่างน้อย 1 พารามิเตอร์ ลองดูตัวอย่างพารามิเตอร์ของคำสั่ง defrag ได้ที่นี่

Note – สำหรับภาษา command line scripting ขั้นสูงของ Windows เรียกว่า PowerShell (ใช้ทำพวก automated tasks) ไว้แอดมาอธิบายต่อในบทความต่อไป
🚀 Always Explore!