Apakah ada cara untuk mengatur variabel lingkungan untuk satu perintah?
Dari cmd
shell saat ini :
Anda harus menghapus variabel sendiri.
set ENVVAR=abc && dir & set ENVVAR=
Dari file batch:
Anda bisa menggunakan setlocal
dan endlocal
.
@echo off
setlocal
set ENVVAR=abc && dir
endlocal
Gunakan cmd
cangkang anak :
Anda dapat menggunakannya cmd /c
untuk membuat shell anak.
Variabel diatur dalam shell anak dan tidak mempengaruhi shell induk (seperti yang ditunjukkan dalam komentar oleh jpmc26 ).
cmd /C "set ENVVAR=abc && dir"
Bacaan lebih lanjut
- Indeks AZ dari baris perintah CMD Windows - Referensi yang sangat baik untuk semua hal yang terkait dengan Windows CMD.
- cmd - Mulai shell CMD baru dan (opsional) menjalankan perintah / program yang dapat dieksekusi.
- endlocal - Mengakhiri lokalisasi perubahan lingkungan dalam file batch. Pass variabel dari satu file batch ke yang lain.
- pengalihan - Operator pengalihan.
- set - Menampilkan, mengatur, atau menghapus variabel lingkungan CMD. Perubahan yang dilakukan dengan SET akan tetap hanya selama durasi sesi CMD saat ini.
- setlocal - Tetapkan opsi untuk mengontrol visibilitas variabel lingkungan dalam file batch.