Batch Script - Decision Making
Giới thiệu về Quyết định trong Batch Scripts
Xin chào các bạn, những người đam mê lập trình! Hôm nay, chúng ta sẽ cùng khám phá thế giới đầy thú vị của việc ra quyết định trong Batch scripts. Là người giáo viên máy tính gần gũi của bạn, tôi sẽ hướng dẫn bạn qua hành trình này với rất nhiều ví dụ và một chút hài hước. Hãy chuẩn bị và bắt đầu nhé!
Quyết định giống như việc chọn hương vị kem nào để ăn - đó là việc đưa ra các lựa chọn dựa trên một số điều kiện. Trong lập trình Batch, chúng ta sử dụng những quyết định này để làm cho script của mình thông minh và linh hoạt hơn.
Câu lệnh IF: Người ra Quyết định Đầu tiên
Câu lệnh IF Cơ bản
Câu lệnh IF là nền tảng của việc ra quyết định trong Batch. Nó giống như một đèn giao thông cho mã của bạn - nó告诉 script của bạn khi nào nên tiếp tục và khi nào nên dừng lại.
Hãy bắt đầu với một ví dụ đơn giản:
@echo off
IF EXIST "C:\MyFile.txt" echo File exists!
Trong script này, chúng ta đang kiểm tra xem một tệp tên là "MyFile.txt" có tồn tại trong ổ C: hay không. Nếu có, chúng ta in ra "File exists!". Đó là tất cả!
Câu lệnh IF-ELSE: Hai Lối Chọn
Bây giờ, hãy thêm một mệnh đề ELSE vào câu lệnh IF của chúng ta. Điều này giống như có một Kế hoạch B:
@echo off
IF EXIST "C:\MyFile.txt" (
echo File exists!
) ELSE (
echo File does not exist!
)
Ở đây, nếu tệp không tồn tại, chúng ta sẽ thấy "File does not exist!" thay vì. Đó là như hỏi, "Có pizza trong tủ lạnh không? Nếu có, ăn nó; nếu không, gọi một cái!"
Các phép so sánh: Công cụ ra Quyết định
Khi ra quyết định, chúng ta thường cần so sánh các thứ. Trong Batch, chúng ta có một số phép so sánh để giúp chúng ta. Dưới đây là bảng tiện ích của các phép so sánh này:
Phép toán | Mô tả |
---|---|
EQU | Bằng |
NEQ | Không bằng |
LSS | Nhỏ hơn |
LEQ | Nhỏ hơn hoặc bằng |
GTR | Lớn hơn |
GEQ | Lớn hơn hoặc bằng |
Hãy sử dụng chúng trong một ví dụ:
@echo off
SET /A age=25
IF %age% GEQ 18 (
echo You're an adult!
) ELSE (
echo You're still a minor.
)
Trong script này, chúng ta đang kiểm tra xem tuổi có lớn hơn hoặc bằng 18 hay không. Nếu có, chúng ta tuyên bố người đó là người lớn. Đó là như một bảo vệ ảo cho mã của bạn!
Câu lệnh GOTO: Chuyển nhảy trong Script
Đôi khi, bạn cần nhảy đến các phần khác nhau của script dựa trên một quyết định. Đó là lúc câu lệnh GOTO trở nên hữu ích. Nó giống như teleportation cho mã của bạn!
@echo off
SET /P choice=Enter 1 for Hello, 2 for Goodbye:
IF %choice%==1 GOTO hello
IF %choice%==2 GOTO goodbye
GOTO end
:hello
echo Hello, World!
GOTO end
:goodbye
echo Goodbye, World!
GOTO end
:end
echo Script finished!
Script này yêu cầu người dùng đưa ra lựa chọn và sau đó nhảy đến phần phù hợp sử dụng GOTO. Nó giống như một cuốn sách "Chọn của mình Adventure" nhưng dưới dạng mã!
Câu lệnh IF Nested: Quyết định trong Quyết định
Đôi khi, một quyết định không đủ. Chúng ta cần đưa ra quyết định dựa trên kết quả của các quyết định khác. Đây là lúc các câu lệnh IF lồng nhau ra đời:
@echo off
SET /P age=Enter your age:
IF %age% GEQ 18 (
IF %age% LSS 65 (
echo You're an adult of working age.
) ELSE (
echo You're a senior citizen.
)
) ELSE (
echo You're a minor.
)
Script này phân loại một người dựa trên tuổi của họ, sử dụng các câu lệnh IF lồng nhau. Đó là như một con nhộng của quyết định!
Câu lệnh CHOICE: Ra Quyết định Tương tác
Câu lệnh CHOICE cho phép chúng ta tạo các menu tương tác cho đầu vào của người dùng. Nó giống như tạo một bài kiểm tra nhiều lựa chọn trong script của bạn:
@echo off
ECHO What's your favorite color?
ECHO 1. Red
ECHO 2. Blue
ECHO 3. Green
CHOICE /C 123 /N /M "Enter your choice (1-3):"
IF ERRORLEVEL 3 ECHO You chose Green
IF ERRORLEVEL 2 ECHO You chose Blue
IF ERRORLEVEL 1 ECHO You chose Red
Script này hiển thị một menu và phản ứng dựa trên lựa chọn của người dùng. Nó giống như là một người đọc tâm trí, nhưng với mã!
Kết luận
Và đây bạn có nó, các bạn! Chúng ta đã cùng nhau đi qua vùng đất của việc ra quyết định trong Batch scripts. Từ các câu lệnh IF đơn giản đến các điều kiện lồng nhau phức tạp, bạn bây giờ có quyền lực để làm cho script của mình thông minh và tương tác hơn.
Nhớ rằng, thực hành làm nên完美. Hãy thử tạo ra các script của riêng bạn sử dụng các kỹ thuật này. Có thể tạo một script quyết định bữa ăn dựa trên ngày trong tuần? Các khả năng là vô tận!
Chúc các bạn vui vẻ lập trình, và hy vọng các quyết định của bạn luôn dẫn đến mã không có lỗi!
Credits: Image by storyset