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!
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%
và %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
và :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