Lệnh setlocal trong Windows
Lệnh setlocal giúp khởi động quá trình khu biệt hóa các biến môi trường trong một tệp batch. Quá trình này sẽ tiếp tục cho đến khi ghép nối được với lệnh endlocal phù hợp hoặc kết thúc tệp batch. Để hiểu hơn cách sử dụng lệnh này, xem mục ví dụ bên dưới.
Cú pháp lệnh setlocal
setlocal [enableextensions | disableextensions] [enabledelayedexpansion | disabledelayedexpansion]
Đối số lệnh setlocal
Đối số | Mô tả |
enableextensions | Kích hoạt các phần mở rộng lệnh cho đến khi kết nối được với lệnh endlocal phù hợp, bất kể các thiết lập đã được áp dụng trước khi lệnh setlocal được chạy. |
disableextensions | Tắt các phần mở rộng lệnh cho đến khi kết nối được với lệnh endlocal phù hợp, bất kể các thiết lập đã được áp dụng trước khi lệnh setlocal được chạy. |
enabledelayedexpansion | Cho phép mở rộng biến môi trường bị trì hoãn cho đến khi kết nối được với lệnh endlocal phù hợp, bất kể các thiết lập đã được áp dụng trước khi lệnh setlocal được chạy. |
disabledelayedexpansion | Vô hiệu hóa việc mở rộng biến môi trường bị trì hoãn cho đến khi kết nối được với lệnh endlocal phù hợp, bất kể các thiết lập đã được áp dụng trước khi lệnh setlocal được chạy. |
/? | Hiển thị trợ giúp tại command prompt. |
Chú giải lệnh setlocal
Sử dụng lệnh setlocal
- Khi bạn sử dụng lệnh setlocal bên ngoài tập lệnh hoặc tập tin batch, nó sẽ hoàn toàn không có hiệu lực.
Thay đổi các biến môi trường
- Sử dụng lệnh setlocal để thay đổi các biến môi trường khi bạn chạy một tệp batch. Các thay đổi về môi trường sẽ được thực hiện sau khi bạn chạy lệnh setlocal là các thay đổi cục bộ của tệp batch. Chương trình Cmd.exe sẽ khôi phục các cài đặt trước đó khi nó ghép nối được với lệnh endlocal phù hợp hoặc kết thúc tệp batch.
Các lệnh lồng nhau
- Bạn có thể có thể sử dụng lồng ghép nhiều lệnh setlocal hoặc endlocal trong một chương trình batch (nghĩa là các lệnh lồng nhau).
Kiểm tra các phần mở rộng lệnh trong các tệp batch
- Lệnh setlocal sẽ đặt biến ERRORLEVEL. Nếu bạn hoàn thành {enableextensions | disableextensions} hoặc {enabledelayedexpansion | disabledelayedexpansion}, biến ERRORLEVEL sẽ được đặt thành 0 (không). Nếu không, nó sẽ được đặt thành 1. Bạn có thể sử dụng thông tin này trong các tập lệnh batch để xác định xem các tiện ích mở rộng có khả dụng hay không, như trong ví dụ sau:
setlocal enableextensions
verify other 2>nul
if errorlevel 1 echo Unable to enable extensions
- Vì cmd không đặt biến ERRORLEVEL khi tiện ích mở rộng lệnh bị vô hiệu hóa nên lệnh verify sẽ khởi tạo biến ERRORLEVEL thành giá trị khác 0 khi bạn sử dụng nó với đối số không hợp lệ. Ngoài ra, nếu bạn sử dụng lệnh setlocal với các đối số {enableextensions | disableextensions} hoặc {enabledelayedexpansion | disabledelayedexpansion} và nó không đặt biến ERRORLEVEL thành 1 thì các phần mở rộng lệnh sẽ không khả dụng.
Ví dụ lệnh setlocal
Bạn có thể khu biệt hóa các biến môi trường trong một tệp batch, như được hiển thị trong tập lệnh mẫu sau:
rem *******Begin Comment**************
rem This program starts the superapp batch program on the network,
rem directs the output to a file, and displays the file
rem in Notepad.
rem *******End Comment**************
@echo off
setlocal
path=g:\programs\superapp;%path%
call superapp>c:\superapp.out
endlocal
start notepad c:\superapp.out
Xem thêm:
Bạn nên đọc
-
UPnP là gì? Tại sao nên vô hiệu hóa nó trên router?
-
Công thức tính diện tích hình hộp chữ nhật
-
Abandonware là gì? Có hợp pháp không?
-
Diện tích hình trụ: Diện tích xung quanh hình trụ, diện tích toàn phần hình trụ
-
Nên dùng PowerShell hay Command Prompt?
-
Công thức tính diện tích hình bình hành, chu vi hình bình hành
Cũ vẫn chất
-
Trải nghiệm Nothing Phone 1
Hôm qua 2 -
Black Friday là gì? Black Friday 2023 vào ngày nào?
Hôm qua -
Cách cộng dặm Bông sen vàng
Hôm qua -
Pantheon DTCL 7.5: Lên đồ, đội hình mạnh
Hôm qua -
Cách vô hiệu hóa BitLocker trong Windows 10
Hôm qua -
Cách ẩn tin nhắn Telegram không cần xóa
Hôm qua -
Khắc phục lỗi mạng WiFi không hiển thị trên Windows 10
Hôm qua -
200+biệt danh cho người yêu hay và hài hước
Hôm qua 5 -
Cách viết số mũ trong Excel, viết chỉ số trên, chỉ số dưới trong Excel
Hôm qua -
Cách khởi động và dừng các dịch vụ trong MS SQL Server
Hôm qua