Batch Script - Mã Trả Về

Xin chào các bạn tương lai của lập trình! Hôm nay, chúng ta sẽ cùng tìm hiểu một chủ đề thú vị trong lập trình Batch: Mã Trả Về. Đừng lo lắng nếu bạn hoàn toàn mới với lập trình; tôi sẽ dẫn dắt bạn từng bước trong hành trình này, giống như tôi đã làm với hàng trăm học sinh trong những năm dạy học của mình. Vậy, hãy lấy một tách cà phê (hoặc đồ uống yêu thích của bạn), và chúng ta cùng bắt đầu!

Batch Script - Return Code

Hiểu về Mã Trả Về

Trước khi chúng ta đi vào chi tiết, hãy hiểu mã trả về là gì. Hãy tưởng tượng bạn đang gửi bạn机器人 bạn đi trên một nhiệm vụ. Khi nó trở về, bạn muốn biết nhiệm vụ có thành công hay không, phải không? Đó chính xác là điều mà mã trả về làm trong lập trình. Chúng giống như những thông điệp nhỏ mà các chương trình gửi lại để告诉我们 chúng đã hoàn thành nhiệm vụ của mình thành công hay có điều gì đó出错.

Trong lập trình Batch, các mã trả về thường được gọi là "mức lỗi". Hãy cùng khám phá khái niệm này sâu hơn.

Mức Lỗi

Trong Batch, mức lỗi là một biến đặc biệt giữ mã trả về của lệnh hoặc chương trình最后一次执行. Nó giống như một bảng điểm cho chúng ta biết lệnh đó đã thực hiện tốt hay xấu.

Kiểm tra Mức Lỗi

Để kiểm tra mức lỗi, chúng ta sử dụng biến %ERRORLEVEL%. Dưới đây là một ví dụ đơn giản:

@echo off
dir C:\NonExistentFolder
echo Mức lỗi là %ERRORLEVEL%

Nếu bạn chạy script này, bạn sẽ thấy gì như sau:

File Not Found
Mức lỗi là 1

Lệnh dir không thể tìm thấy thư mục, vì vậy nó trả về mức lỗi là 1. Nếu thư mục tồn tại, mức lỗi sẽ là 0.

Sử dụng Mức Lỗi trong Quyết Định

Mức lỗi rất hữu ích để đưa ra quyết định trong script của bạn. Dưới đây là một ví dụ:

@echo off
ping google.com
if %ERRORLEVEL% EQU 0 (
echo Kết nối internet đang hoạt động!
) else (
echo Ồ! Không có kết nối internet.
)

Trong script này, chúng ta đang kiểm tra xem chúng ta có thể ping Google hay không. Nếu ping thành công (mức lỗi 0), chúng ta biết internet đang hoạt động. Nếu không, chúng ta hiển thị một thông báo lỗi.

Vòng Lặp

Bây giờ chúng ta đã hiểu về mức lỗi, hãy xem cách chúng ta có thể sử dụng chúng trong vòng lặp. Vòng lặp giống như một vòng đu quay cho mã của bạn, cho phép bạn lặp lại các hành động cho đến khi một điều kiện nhất định được thỏa mãn.

Cấu Trúc Vòng Lặp Cơ Bản

Dưới đây là một vòng lặp đơn giản đếm từ 1 đến 5:

@echo off
set counter=1
:loop
if %counter% LEQ 5 (
echo Counter is %counter%
set /a counter+=1
goto loop
)
echo Vòng lặp kết thúc!

Script này sẽ выводить:

Counter is 1
Counter is 2
Counter is 3
Counter is 4
Counter is 5
Vòng lặp kết thúc!

Sử dụng Mức Lỗi trong Vòng Lặp

Chúng ta có thể kết hợp vòng lặp với mức lỗi để tạo ra các script linh hoạt hơn. Dưới đây là một ví dụ:

@echo off
:retry
ping google.com
if %ERRORLEVEL% NEQ 0 (
echo Kết nối thất bại. Thử lại sau 5 giây...
timeout /t 5 >nul
goto retry
)
echo Kết nối thành công!

Script này sẽ tiếp tục thử ping Google cho đến khi thành công. Nó giống như một robot kiên trì không từ bỏ cho đến khi hoàn thành nhiệm vụ của mình!

Lặp qua Các Tham Số Command Line

Tham số command line giống như những hướng dẫn đặc biệt bạn đưa cho script khi bạn chạy nó. Hãy xem cách chúng ta có thể lặp qua các tham số này.

Vòng Lặp Cơ Bản với Tham Số

Dưới đây là một script in ra tất cả các tham số bạn đưa vào:

@echo off
:loop
if "%1"=="" goto end
echo Tham số: %1
shift
goto loop
:end
echo Tất cả các tham số đã được xử lý!

Nếu bạn chạy script này với script.bat apple banana cherry, nó sẽ выводить:

Tham số: apple
Tham số: banana
Tham số: cherry
Tất cả các tham số đã được xử lý!

Sử dụng Mức Lỗi với Tham Số

Hãy tạo một script phức tạp hơn kiểm tra xem các tệp được truyền vào có tồn tại hay không:

@echo off
:loop
if "%1"=="" goto end
if exist %1 (
echo %1 tồn tại
) else (
echo %1 không tồn tại
set ERRORLEVEL=1
)
shift
goto loop
:end
if %ERRORLEVEL% NEQ 0 (
echo Một số tệp không được tìm thấy
) else (
echo Tất cả các tệp tồn tại
)

Script này kiểm tra từng tệp được truyền vào. Nếu bất kỳ tệp nào không tồn tại, nó sẽ đặt mức lỗi thành 1. Cuối cùng, nó sẽ thông báo cho bạn biết tất cả các tệp có được tìm thấy hay không.

Kết Luận

Chúc mừng! Bạn đã chính thức bước vào thế giới lập trình Batch với mã trả về. Nhớ rằng, giống như học bất kỳ ngôn ngữ mới nào, việc gyak là chìa khóa. Đừng sợ hãi khi thử nghiệm và mắc lỗi - đó là cách chúng ta học hỏi!

Dưới đây là bảng tham khảo nhanh các phương pháp chúng ta đã bao gồm:

Phương pháp Mô tả
%ERRORLEVEL% Biến để kiểm tra mã trả về của lệnh最后一次 thực hiện
if %ERRORLEVEL% EQU 0 Kiểm tra xem lệnh最后一次 có thành công hay không
goto label Nhảy đến nhãn cụ thể trong script
set /a variable+=1 Tăng giá trị của biến
shift Di chuyển đến tham số command line tiếp theo
if exist filename Kiểm tra xem tệp có tồn tại hay không

Tiếp tục lập trình, tiếp tục học hỏi, và quan trọng nhất, hãy vui vẻ! Nhớ rằng, mỗi chuyên gia đều từng là người mới bắt đầu. Ai biết được? Có lẽ một ngày nào đó bạn sẽ viết chính mình những hướng dẫn lập trình!

Credits: Image by storyset