Chủ Nhật, 27 tháng 3, 2016

Những lệnh cơ bản trong cmd (Phần cuối)

CMD là cửa sổ dòng lệnh trong Windows. Nó mang lại những tiện ích như một hệ điều hành. Và bạn có thể coi nó như một hệ điều hành đơn nhiệm cũng được. Vậy tại sao chúng ta lại phải tìm hiểu phần này khi mà mọi thứ đã có trong Windows và  thậm chí bạn còn không biết nó là gì. Phần này dành cho những người yêu thích máy tính, muốn  tìm hiểu thêm một số tính năng mới hoặc trong một hoàn cảnh nào đó bạn không có windows để thực hiện thì việc sử dụng nó trong môi trường dos nhẹ nhàng tiện lợi. Phần này khó nên mình sẽ không thích hợp hết vào một bài viết mà chia ra nhiều phần khác nhau.

  • Phần này chúng ta học lệnh del và lệnh rd
Đầu tiên chúng ta sẽ khởi động cmd. Đối với cmd thì có rất nhiều cách khởi động nó qua nhiều phiên bản hệ điều hành. Ở đây mình hướng dẫn các bạn khởi động theo 2 cách mà có thể làm được từ phiên bản XP đến Windows 10.
Những lệnh chúng ta đã học ở hai phần trước sẽ là nền tảng cho phần này, mình sẽ không nhắc lại nữa nên các bạn chịu khó tham khảo lại các phần trước nhé.
Những lệnh cơ bản trong cmd (phần 1)
Chúng ta đã học qua các lệnh duyệt thư mục, copy giờ chúng ta học về các lệnh về xóa. Lệnh dầu tiên chúng ta sẽ tìm hiểu lệnh del.
Cú pháp: del <đường dẫn\tên file cần xóa>
Giải thích: Lệnh này xóa file với tên (có phần mở rộng) và đường dẫn do bạn chỉ định
Lệnh trên xóa file test1.jpg trong đường dẫn "D:\TEMPS". Câu lệnh này cũng có cú pháp "*.*" như câu lệnh copy nghĩa là xóa tất cả các file trong như mục chỉ định. Lưu ý lệnh này sẽ không hỏi bạn trước khi xóa file. Để hiển thị câu hỏi xác nhận xóa file bạn xem tiếp tham số dưới đây.
Tham số /p: Tham số này sẽ hiện câu hỏi xác nhận xóa file khi bạn chạy lệnh del. Việc này sẽ giúp bạn tránh những sai lầm khi xóa nhầm file.
Ví dụ:

Tham số /s: Tham số này cho phép bạn xóa tất cả các file trong thư mục chỉ định và các thư mục con của nó nhưng không xóa các thư mục. Rõ ràng để làm điều này trong Windows thì bạn sẽ phải mở từng thư mục lên và xóa các file này.
Ví dụ:

Như vậy thì chúng ta sẽ thấy rằng mỗi khi nó xóa các file trong một thư mục nó sẽ hỏi chúng ta có muốn xóa không dù chúng ta không dùng tham số /p. Việc này khá phiền khi chúng ta dùng tham số /s trong một thư mục có rất nhiều thư mục con. Deedrr không phải phải trả lời những câu hỏi như vậy chúng dùng lệnh xóa không cần hỏi với tham số sau.
Tham số /q: Tham số này cài đặt chế độ xóa không cần hỏi với tất cả các trường hợp xóa file.
Ví dụ:

Như vậy dùng tham số /q cùng với tham số /s sẽ không cần phải trả lời mỗi khi xóa file với một thư mục nào đó.
Như các bạn đã thấy ở trên câu lệnh del có một điểm yếu là nó chỉ xóa được file thôi, nhưng lại không có bất cứ tác động nào trên thư mục cả. Để giải quyết việc này chúng ta đến với câu lệnh tiếp theo.
  • Câu lệnh rd
Cú pháp: rd <đường dẫn thư mục cần xóa>
Giải thích: lệnh này xóa một thư mục chỉ định nhưng lại chỉ có tác dụng với thư mục rỗng hoàn toàn, nghĩa là ngay cả khi thư mục đó chứa các thư mục rỗng bạn cũng không thể xóa.
Ví dụ:

Ở đây mình xóa 2 thư mục newfolder rỗng hoàn toàn thì xóa được trong khi thư mục extract không thể xóa được do nó có chứa dữ liệu. Việc này quá hạn chế vì nếu muốn dùng câu lệnh này ta lại phải dùng câu lệnh del trước mới dùng được nó. Và giả sử thư mục gồm nhiều cấp thì ta phải xóa từng thư mục một bắt đầu từ thư mục cấp thấp nhất. Để giải quyết vấn đề này ta đi đến các tham số.
Tham số /s: Tham số số này cho phép xóa thư mục chỉ định với toàn bộ file và thư mục nằm bên trong nó bao gồm các thư mục con.
Ví dụ:

Như vậy thêm tham số /s đã giúp mình xóa được thư mục extract nhưng có một điều là nó sẽ hỏi bạn có đồng ý xóa hay không. Nếu bạn cảm thấy phiền về điều này thì có thể thêm tham số này.
Tham số /q: Tham số này cho phép xóa không cần hỏi mọi trường hợp của lệnh rd.
Ví dụ:

Như vậy dùng kèm cả hai tham số đã giúp mình xóa thư mục extract mà không bận tâm đến câu hỏi xác nhận.
Về các lệnh xóa thì chúng ta dừng ở đây, vẫn còn 1 tham số nữa nhưng tôi không nhắc ở đây thì thấy cũng không cần thiết. Nếu ai có nhu cầu tìm hieeurr thêm các bạn tham khảo tại nguồn Câu lệnh del
Chúng ta kết thúc phần cơ bản về các câu lệnh trong cmd. Hẹn gặp các bạn ở các topic sau.

Những lệnh cơ bản trong cmd (phần 4)

CMD là cửa sổ dòng lệnh trong Windows. Nó mang lại những tiện ích như một hệ điều hành. Và bạn có thể coi nó như một hệ điều hành đơn nhiệm cũng được. Vậy tại sao chúng ta lại phải tìm hiểu phần này khi mà mọi thứ đã có trong Windows và  thậm chí bạn còn không biết nó là gì. Phần này dành cho những người yêu thích máy tính, muốn  tìm hiểu thêm một số tính năng mới hoặc trong một hoàn cảnh nào đó bạn không có windows để thực hiện thì việc sử dụng nó trong môi trường dos nhẹ nhàng tiện lợi. Phần này khó nên mình sẽ không thích hợp hết vào một bài viết mà chia ra nhiều phần khác nhau.

  • Phần này chúng ta học lệnh xcopy
Đầu tiên chúng ta sẽ khởi động cmd. Đối với cmd thì có rất nhiều cách khởi động nó qua nhiều phiên bản hệ điều hành. Ở đây mình hướng dẫn các bạn khởi động theo 2 cách mà có thể làm được từ phiên bản XP đến Windows 10.
Những lệnh chúng ta đã học ở hai phần trước sẽ là nền tảng cho phần này, mình sẽ không nhắc lại nữa nên các bạn chịu khó tham khảo lại các phần trước nhé.
Cú pháp: xcopy "<Đường dẫn thư mục nguồn>" <"Đường dẫn thư mục đích đích">
Giải thích: Lệnh này copy tất cả các file trong thư mục nguồn đến thư mục đích. Nghe rất giống lệnh copy với "*.*" mà chúng ta đã đề cập ở phần trước, nhưng lệnh này sẽ kèm những tiện ích lớn hơn mà chúng ta sẽ đề cập đến ở những phần sau đây.
Để thuận tiện cho việc làm các ví dụ thì mình sẽ tạo ra 2 thư mục gọi là ThuMucNguon và ThuMucDich kèm một ít dữ liệu để tiện cho việc test các câu lệnh.
Ví dụ: 
Hai thư mục trước khi chạy lệnh

Sau khi chạy lệnh H:\>xcopy ThuMucNguon ThuMucDich

Như vậy việc thực hiện lệnh này sẽ copy tất cả các file trong ThuMucNguon vào thư mục đích một cách nhanh chóng và thuận tiện.
Lệnh này hẳn đã dừng ở đó nếu chúng ta không xét các tham số khác thực sự có ích và tiện dụng. Ở đây tôi sẽ xét 5 tham số chính của nó, các tham số còn lại bạn có thể tham khảo ở nguồn mà tôi cung cấp cuối bài viết.
Tham số /w: Tham số này dừng lại chờ sự đồng ý của bạn khi chạy lệnh copy. Bạn sẽ copy file sau khi nhấp lệnh bất kì (Press any key when readyy to begin copying file(s).
Ví dụ:

Tham số /f: Hiển thị đường dẫn nguồn và đường dẫn đích khi copy. Điều này cho phép xem một cách rõ ràng hơn việc copy và lưu trữ file.
Ví dụ: 



Tham số /s: Đây là tham số tạo nên sự khác biệt thực sự của lệnh xcopy và copy khi nó cho phép bạn copy tất cả các file và folder trong thư mục nguồn đến thư mục đích (không copy những folder có dung lượng = 0 - thư mục rỗng)
Ví dụ:
Trước khi copy
Sau khi thực hiện copy


Như vậy lệnh này đã copy tất cả các file và folder trong thư mục nguồn sang thư mục đích từ ThuMucRong vì nó không chứa dữ liệu nên không được copy.

Tham số /t: Chỉ copy các thư mục có trong thư mục nguồn sang thư mục đích (bỏ qua file và thư mục rỗng tuy nhiên nhiều trường hợp nó vẫn copy sang thư mục rỗng, để chắc ăn các bạn nên dir thư mục đích kiểm tra xem có đủ hay chưa).
Ví dụ:


Tham số /e: Tham số này không đứng một mình mà nó là tham số bổ sung, cụ thể nó sẽ bổ sung cho tham số /s và /t để copy cả thư mục rỗng.
Ví dụ:

Như vậy so sánh kết quả với thư mục đích ở tham số /s ban đầu khi chưa kèm tham số /e thì kết quả đã khác đi vì nó đã copy cả thư mục rỗng qua thư mục đích.
Lệnh này còn một số tham số khác nhưng mình sẽ không đề cập đến nó vì không thông dụng, các bạn muốn tìm hiểu có thể tham khảo tại nguồn Lệnh Xcopy

Thứ Bảy, 26 tháng 3, 2016

Những lệnh cơ bản trong cmd (Phần 3)

CMD là cửa sổ dòng lệnh trong Windows. Nó mang lại những tiện ích như một hệ điều hành. Và bạn có thể coi nó như một hệ điều hành đơn nhiệm cũng được. Vậy tại sao chúng ta lại phải tìm hiểu phần này khi mà mọi thứ đã có trong Windows và  thậm chí bạn còn không biết nó là gì. Phần này dành cho những người yêu thích máy tính, muốn  tìm hiểu thêm một số tính năng mới mà Windows không thể làm được hoặc làm được nhưng khó khăn và phức tạp hơn. Phần này khó nên mình sẽ không thích hợp hết vào một bài viết mà chia ra nhiều phần khác nhau.
  • Phần này chúng ta học lệnh copy
Đầu tiên chúng ta sẽ khởi động cmd. Đối với cmd thì có rất nhiều cách khởi động nó qua nhiều phiên bản hệ điều hành. Ở đây mình hướng dẫn các bạn khởi động theo 2 cách mà có thể làm được từ phiên bản XP đến Windows 10.
Những lệnh chúng ta đã học ở hai phần trước sẽ là nền tảng cho phần này, mình sẽ không nhắc lại nữa nên các bạn chịu khó tham khảo lại các phần trước nhé.
Cú pháp: copy "<Đường dẫn nguồn\tên file>" <"Đường dẫn đích\tên file đích">
Giải thích: Lệnh copy này copy một file từ đường dẫn nguồn đến đường dẫn đích. Tên file nguồn phải được viết đầy đủ bao gồm cả phần mở rộng. Cái này bạn dùng lệnh dir sẽ thấy tên file đầy đủ và phần mở rộng của nó (xem lại các phần trước). Phần tên file đích các bạn có thể bỏ qua. Nếu bị bỏ trống tên file thì tên file đích mặc định sẽ trùng với tên file nguồn. Phần này chỉ dùng khi bạn muốn đặt tên file khác sau khi copy mà thôi
Ví dụ: 

Câu lệnh trên copy trên copy file "list.txt" ở thư mục hiện hành - ở đây là ổ E: vì con trỏ đang năm ở ổ E: - sang ổ D. Nhưng bạn cũng nhận thấy một điều đó là nó phát sinh một trường hợp ngoài ý muốn. Nó phát hiện ra file này đã có trên ổ D rồi và hỏi bạn có muốn ghi đè file đã tồn tại hay không. y = Yes, n = No, a = All.
Bạn cũng cần lưu ý cách gõ lệnh khi thao tác ở thư mục hiện hành (đường dẫn con trỏ đang trỏ tới) thì không cần gõ đường dẫn đầy đủ mà chỉ cần gõ tên file.
Phần mở rộng của file đích buộc phải trùng với phần mở rộng của file nguồn nếu bạn đổi lại tên file. Nếu bạn đổi tên mà thay đổi cả phần mở rộng thì file vẫn copy được nhưng trong nhiều trường hợp nó sẽ bị lỗi khi đọc.
Copy nhiều file
Câu lệnh trên chỉ cho ta copy một file duy nhất, điều này có phần bất tiện khi ta muốn copy tất cả các file trong thư mục đó sang thư mục mới thì sao. Ta có câu lệnh sau:
Cú pháp: copy "<đường dẫn nguồn\*.*>" "<đường dẫn đích>"
Giải thích: Câu lệnh trên cho phép ta copy tất cả các file trong thư mục từ đường dẫn nguồn sang đường dẫn đích.
Ví dụ:   

Lệnh trên copy tất cả các file "*.*" từ đường dẫn "D:\Temps" sang đường dẫn "D:\Test" điều kiện chạy đúng của lệnh này là là cả hai thư mục trên đã tồn tại.
Ghi đè không cần hỏi. Ở trên mình đã nói với các bạn về việc cmd sẽ hỏi bạn khi tên file ở đường dẫn nguồn đã tồn tại ở đường dẫn đích. Chúng ta có thể bỏ qua câu này bằng câu lệnh sau:
Cú pháp: copy /y "<Đường dẫn nguồn\tên file>" <"Đường dẫn đích\tên file đích">
Giải thích: Lệnh trên cho phép copy file không cần hỏi khi tên file ở đường dẫn nguồn đã tồn tại ở đường dẫn đích. Câu lệnh này dùng trong trường hợp chúng ta cần copy file mà không quan tâm đến dữ liệu ở đường dẫn đích thì chúng ta có thể ép nó không hiện câu hỏi này bằng cú pháp sau:
Ví dụ:

Ở đây chúng ta thấy có 2 câu  lệnh xét về kết quả là hoàn toàn giống nhau, với câu lệnh không có tham số "/y" thì cmd sẽ hỏi bạn xem bạn có muốn chép đè file không và câu lệnh thứ hai đã không hỏi gì cả là vì nó đã có tham số "/y".
Khi tìm hiều phần này có một phần mình đọc thấy khá hay đó là "combine" - kết hợp file. Các bạn theo dõi dưới đây:
Cú pháp: copy /y "<Đường dẫn nguồn\tên file1>" + "<Đường dẫn nguồn\tên file2>" + "<Đường dẫn nguồn\tên file...>" <"Đường dẫn đích\tên file đích">
Giải thích: Nó sẽ kết hợp tất cả các file bạn đã liệt kê ở trên mà nằm giữa mỗi file là một dầu cộng "+". Cụ thể thế nào thì bạn theo dõi ví dụ dưới đây:
Ví dụ:
Đầu tiên mình có 3 file nằm trong đường dẫn "D:\Temps" như thế này:

Sau đó mình chạy câu lệnh D:\TEMPS>copy text1.txt + text2.txt + text3.txt "D:\test\combinetext.txt" 

Và khi mở file combinetext.txt lên thì mình được kết quả như thế này:


Vậy ra là nó cộng nội dung với nhau à, nghe hay đấy nhỉ. Tôi có thể dùng nó để nối các file có nội dung khác nhau vào không. Nói thật thì cái này chỉ là một file đơn giản nó có thể cộng giúp bạn, nhưng trên thực tế thì lại không nhiều trường hợp có thể cộng vào vì nhiều lý do khác nhau, đặc biệt nó sẽ sinh lỗi giống như file trên có thêm một kí tự lạ ở cuối.
Lệnh copy này cũng có nhiều ứng dụng, các bạn có thể tìm hiểu thêm tại nguồn Lệnh copy