Batch Script - Strings (Tiếng Việt)

Giới thiệu về chuỗi trong Batch Scripting

Xin chào, những người học lập trình tiềm năng! Hôm nay, chúng ta sẽ cùng khám phá thế giới tuyệt vời của chuỗi trong Batch scripting. Là giáo viên máy tính gần gũi của bạn, tôi rất hứng thú dẫn đường cho bạn trong hành trình này. Đừng lo lắng nếu bạn chưa từng viết một dòng mã trước đây - chúng ta sẽ bắt đầu từ những điều cơ bản nhất!

Batch Script - Strings

Một chuỗi, trong thuật ngữ đơn giản, là một序列 các ký tự. Nó có thể là một từ, một câu hoặc thậm chí cả một đoạn văn. Trong Batch scripting, chúng ta sử dụng chuỗi liên tục để hiển thị thông báo, lưu trữ thông tin và manipulates văn bản.

Các thao tác cơ bản với chuỗi

Hiển thị chuỗi

Hãy bắt đầu với thao tác cơ bản nhất - hiển thị một chuỗi. Trong Batch, chúng ta sử dụng lệnh echo cho điều này.

@echo off
echo Hello, World!
pause

Lưu này thành hello.bat và chạy nó. Bạn sẽ thấy "Hello, World!" hiển thị trên màn hình của bạn. @echo off ở đầu là một thói quen tốt để giữ cho đầu ra của script của bạn sạch sẽ, và pause ở cuối giữ cửa sổ mở để bạn có thể thấy kết quả.

Lưu chuỗi vào biến

Bây giờ, hãy lưu chuỗi của chúng ta vào một biến:

@echo off
set message=Hello, Batch scripting!
echo %message%
pause

Ở đây, chúng ta sử dụng lệnh set để lưu chuỗi của chúng ta vào biến名叫 message. Để sử dụng biến, chúng ta bao quanh nó với các dấu phẩy phần trăm.

Concatenation chuỗi

Kết hợp các chuỗi lại với nhau (concatenation) là một thao tác phổ biến. Trong Batch, nó đơn giản như việc đặt chúng cạnh nhau:

@echo off
set firstName=John
set lastName=Doe
set fullName=%firstName% %lastName%
echo Full name: %fullName%
pause

Script này sẽ output "Full name: John Doe". Chú ý rằng chúng ta đã thêm một khoảng trống giữa %firstName%%lastName% để phân cách chúng.

Làm việc với đầu vào của người dùng

Hãy làm cho script của chúng ta tương tác hơn bằng cách nhận đầu vào từ người dùng:

@echo off
set /p name=What's your name?
echo Nice to meet you, %name%!
pause

Lệnh /p với set cho phép chúng ta yêu cầu người dùng nhập đầu vào. Hãy thử chạy script này và nhập tên của bạn!

Manipulation chuỗi

Trích xuất substring

Batch cho phép chúng ta trích xuất một phần của chuỗi sử dụng cú pháp %variable:~start,length%:

@echo off
set message=Hello, World!
echo %message:~0,5%
echo %message:~7,5%
pause

Điều này sẽ output:

Hello
World

Lệnh echo đầu tiên trích xuất ký tự từ vị trí 0 đến 5, và lệnh thứ hai từ vị trí 7 đến 5 ký tự tiếp theo.

Thay thế chuỗi

Chúng ta cũng có thể thay thế một phần của chuỗi:

@echo off
set phrase=The quick brown fox jumps over the lazy dog
echo %phrase:fox=cat%
pause

Điều này thay thế "fox" bằng "cat" trong câu của chúng ta.

Các thao tác chuỗi nâng cao

Độ dài chuỗi

Batch không có hàm nội tại để lấy độ dài chuỗi, nhưng chúng ta có thể sử dụng một cách giải quyết thông minh:

@echo off
set string=Hello, World!
call :strLen string strlen
echo The length of "%string%" is %strlen%
pause
goto :eof

:strLen
setlocal enabledelayedexpansion
set "s=!%~1!"
set "len=0"
for %%N in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (
if "!s:~%%N,1!" neq "" (
set /a "len+=%%N"
set "s=!s:~%%N!"
)
)
endlocal & set %~2=%len%
goto :eof

Script này định nghĩa một hàm :strLen để tính toán độ dài của một chuỗi. Nó hơi phức tạp, nhưng nó cho thấy làm thế nào chúng ta có thể tạo ra các công cụ mạnh mẽ trong Batch.

Chuyển đổi chữ hoa-thường

Batch không có chuyển đổi chữ hoa-thường nội tại, nhưng chúng ta có thể sử dụng lệnh for với tùy chọn /L để đạt được điều này:

@echo off
set string=Hello, World!
call :toUpper string result
echo Upper case: %result%
call :toLower string result
echo Lower case: %result%
pause
goto :eof

:toUpper
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set %2=%%%2:%%a=%%a%%%
goto :eof

:toLower
for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do call set %2=%%%2:%%A=%%a%%%
goto :eof

Script này định nghĩa hai hàm: :toUpper:toLower để chuyển đổi chữ hoa-thường.

Kết luận

Chúc mừng! Bạn đã刚刚 bước vào thế giới manipulates chuỗi trong Batch scripting. Nhớ rằng, thực hành làm nên hoàn hảo, vì vậy đừng ngần ngại thử nghiệm với các khái niệm này. Hãy thử kết hợp các kỹ thuật khác nhau mà chúng ta đã học hôm nay để tạo ra các script độc đáo của riêng bạn.

Khi chúng ta kết thúc, đây là bảng tóm tắt các thao tác chuỗi mà chúng ta đã bao gồm:

Thao tác Cú pháp Ví dụ
Hiển thị Chuỗi echo string echo Hello, World!
Lưu Chuỗi set variable=string set message=Hello
Concatenation set result=%string1% %string2% set fullName=%firstName% %lastName%
Đầu vào Người dùng set /p variable=prompt set /p name=What's your name?
Substring %variable:~start,length% %message:~0,5%
Thay thế %variable:old=new% %phrase:fox=cat%

Tiếp tục lập mã, tiếp tục học hỏi, và quan trọng nhất, hãy vui vẻ với Batch scripting!

Credits: Image by storyset