มีวิธีการตั้งค่าตัวแปรสภาพแวดล้อมสำหรับคำสั่งเดียวหรือไม่?
จากcmd
เปลือกปัจจุบัน:
คุณต้องล้างตัวแปรด้วยตัวเอง
set ENVVAR=abc && dir & set ENVVAR=
จากแบตช์ไฟล์:
คุณสามารถใช้และsetlocal
endlocal
@echo off
setlocal
set ENVVAR=abc && dir
endlocal
ใช้cmd
เปลือกลูก:
คุณสามารถใช้cmd /c
เพื่อสร้างเปลือกลูก
ตัวแปรถูกตั้งค่าใน child shell และไม่มีผลกับ parent parent (ดังที่อธิบายไว้ในความคิดเห็นโดยjpmc26 )
cmd /C "set ENVVAR=abc && dir"
อ่านเพิ่มเติม
- ดัชนี AZ ของบรรทัดคำสั่ง Windows CMD - การอ้างอิงที่ยอดเยี่ยมสำหรับทุกสิ่งที่เกี่ยวข้องกับบรรทัด Windows cmd
- cmd - เริ่มเชลล์ CMD ใหม่และ (ทางเลือก) เรียกใช้โปรแกรมคำสั่ง / ปฏิบัติการ
- endlocal - สิ้นสุดการแปลของการเปลี่ยนแปลงสภาพแวดล้อมในแบตช์ไฟล์ ส่งผ่านตัวแปรจากชุดไฟล์หนึ่งไปยังอีกชุดหนึ่ง
- การเปลี่ยนเส้นทาง - ผู้ประกอบการเปลี่ยนเส้นทาง
- set - แสดงตั้งค่าหรือลบตัวแปรสภาพแวดล้อม CMD การเปลี่ยนแปลงที่ทำกับ SET จะยังคงอยู่เฉพาะช่วงเวลาของเซสชัน CMD ปัจจุบัน
- setlocal - ตั้งค่าตัวเลือกเพื่อควบคุมการมองเห็นตัวแปรสภาพแวดล้อมในไฟล์แบตช์