Tôi không biết gì về Jenkins, nhưng có vẻ như bạn đang cố gắng truy cập các biến môi trường bằng cách sử dụng một số dạng cú pháp Unix - điều đó sẽ không hoạt động.
Nếu tên của biến là WORKSPACE, khi đó giá trị được mở rộng trong lô Windows sử dụng
%WORKSPACE%
. Đó là hình thức mở rộng được thực hiện tại thời gian phân tích cú pháp. Ví dụ, điều này sẽ in ra màn hình giá trị của không gian làm việc
echo %WORKSPACE%
Nếu bạn cần giá trị tại thời gian thực hiện, sau đó bạn cần phải sử dụng chậm mở rộng !WORKSPACE!
. Trì hoãn trễ không được kích hoạt bình thường theo mặc định. Sử dụng SETLOCAL EnableDelayedExpansion
để bật tính năng này. Việc mở rộng trễ thường là cần thiết vì các khối mã trong ngoặc đơn được phân tích cú pháp cùng một lúc, vì vậy giá trị được gán trong khối không thể đọc sau trong cùng một khối trừ khi bạn sử dụng mở rộng trễ.
setlocal enableDelayedExpansion
set WORKSPACE=BEFORE
(
set WORKSPACE=AFTER
echo Normal Expansion = %WORKSPACE%
echo Delayed Expansion = !WORKSPACE!
)
Đầu ra của trên là
Normal Expansion = BEFORE
Delayed Expansion = AFTER
Sử dụng HELP SET
hoặc SET /?
từ dòng lệnh để lấy thêm thông tin về các biến môi trường Windows và các tùy chọn mở rộng khác nhau. Ví dụ, nó giải thích cách thực hiện các thao tác tìm kiếm/thay thế và chuỗi con.
Tôi hoàn toàn quên mất rằng ít chi tiết cầu kỳ nit về cửa sổ. Cảm ơn ! – JoxTraex
đã lãng phí rất nhiều thời gian cho cảm ơn này –
@UtsavGupta Tôi cũng bị mắc kẹt về vấn đề này. Tôi đã sử dụng $ BUILD_ID trước đó. Bây giờ vui với% BUILD_ID% trên cửa sổ. –