SETENV.EXE는 리소스 킷의 명령행 유틸리티인
SETX.EXE보다 나은 기능을 제공하고 있다(Windows NT의 주 환경 변수를 출력, 조작하는 점에서 ).
HKEY_CURRENT_USER\Environment나
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment(사용자 또는 컴퓨터 환경변수)에 접근함으로서
SETENV는 전체 환경 변수나 환경 변수의 값을 출력할 수 있다. 또한 하나의 환경 변수의 값을 설정하거나 변경할 수 있으며, 아울러 임의의 환경 변수를 삭제할 수도 있다.
환경 변수를 변경하게되면
SETENV는 변경 사항이 즉시 저장되었는지 확실히 하기위해
RegFlushKey를 호출하며,
BroadcastSystemMessage를 호출함으로서 환경변수의 변경에 영향을 받는 모든 윈도우 구성요소에 이러한 정보를 통지한다.
탐색기나 다른 프로그램은 이 메시지에의해 환경변수를 갱신한다.
BroadcastSystemMessage는
SETX와
MyComputer\Properties\Environment에의해 사용되는
SendMessageTimeout비해 성능상 잇점이있다.
SendMessageTimeout은 탐색기가 분리된 프로세스(작업막대와 바탕화면)으로 실행되는 경우 메시지 전달에 실패할 수 있다(지식 베이스 기사 Q104011를 참조).