Tôi gặp vấn đề về tập lệnh batch của Windows mà tôi đang chống lại (không có ý định chơi chữ). Các kịch bản có vấn đề như sau:Cách đặt PATH thành giá trị biến khác với dấu cách trong tệp lô Windows
if defined _OLD_VIRTUAL_PATH (
set PATH=%_OLD_VIRTUAL_PATH%
)
Khi tôi chạy nó và _OLD_VIRTUAL_PATH
được thiết lập tôi nhận được:
\Microsoft was unexpected at this time.
_OLD_VIRTUAL_PATH
là một biến mà ban đầu được thiết lập từ PATH
và nó chứa dấu cách - Tôi khá chắc chắn đó là vấn đề. Nhưng giải pháp là gì? Nó chạy thành công nếu tôi đính kèm nó trong dấu ngoặc kép, nhưng tôi không nghĩ rằng toàn bộ giá trị của biến số PATH
được cho là có dấu ngoặc kép.
Wow - Tôi đã học được 2 điều hôm nay ... Tôi chắc chắn rằng cú pháp này sẽ nổ tung, nhưng chắc chắn, nó hoạt động. Tuy nhiên, tôi không chắc tại sao nó lại cần thiết cho Evgeny - việc thiết lập một PATH với không gian chưa bao giờ là vấn đề đối với tôi mà không sử dụng dấu ngoặc kép. Có lẽ '_OLD_VIRTUAL_PATH' của Evgeny có một số ký tự đặc biệt khác (không phải là dấu cách) cần trích dẫn? –
@Michael: Đó không phải là không gian có vấn đề. Tôi viết lại bài viết (hy vọng Chris không bận tâm; anh ấy có thể quay lại nếu cần) và giải thích điều gì là sai và tại sao. – Joey
Cảm ơn Johannes, tôi đã quên lý do, nhưng điều đó chắc chắn có ý nghĩa. –