SET
จะตั้งค่าตัวแปรสภาพแวดล้อมทั่วโลก มันจะยังคงมีอยู่หลังจากการดำเนินการของสคริปต์ของคุณ
ลองมาดูตัวอย่าง
ก่อนอื่นฉันลบตัวแปรเพื่อให้แน่ใจว่าไม่มีอยู่
C:\Users\Oliver\Desktop>set TEST=
การทดสอบอย่างรวดเร็ว:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
มาสร้างแบทช์ไฟล์นั้นขึ้นมาและรันมัน:
C:\Users\Oliver\Desktop>echo set TEST=something>test.bat
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>set TEST=something
เรามาดูค่าของการทดสอบหลังจากการทำงานของ.bat
ไฟล์ของฉัน:
C:\Users\Oliver\Desktop>echo %TEST%
something
ดังนั้นการล้างตัวแปรในตอนท้ายของสคริปต์จึงเป็นแนวปฏิบัติที่ดี
ยิ่งไปกว่านั้นคือการใช้SETLOCAL
และENDLOCAL
หลีกเลี่ยงปัญหาทั้งหมด
ที่นี่ฉันสร้าง.bat
ไฟล์ใหม่ที่ใช้SETLOCAL
และENDLOCAL
:
C:\Users\Oliver\Desktop>type test.bat
setlocal
set TEST=something
endlocal
ให้ชัดเจนTEST
และสะท้อนเพื่อให้แน่ใจว่าเราเริ่มทำความสะอาด:
C:\Users\Oliver\Desktop>set TEST=
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
เยี่ยมมากตอนนี้มารันใหม่.bat
กันดีกว่า:
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>setlocal
C:\Users\Oliver\Desktop>set TEST=something
C:\Users\Oliver\Desktop>endlocal
ตอนนี้TEST
จะยังว่างอยู่:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%