Tại sao tệp Windows Batch Tệp sau đây xuất hiện Foo
theo sau là Bar
, thay vì Baz
?Tệp hàng loạt không đặt biến môi trường trong câu lệnh điều kiện
@echo off
setlocal
set _=Foo
echo %_%
set _=Bar
if 1==1 (
set _=Baz
echo %_%
)
Sản lượng trên hệ thống của tôi (Microsoft Windows XP [Version 2600/05/01]) là:
Foo
Bar
Nếu tôi loại bỏ các tuyên bố có điều kiện, sản lượng dự kiến của Foo
và Baz
được quan sát.
Bản sao của http://stackoverflow.com/questions/305605/weird-scope-issue-in-bat-file –