В Windows, когда один процесс создает другой, он может просто позволить дочернему процессу наследовать строки текущей среды или может дать новому дочернему процессу измененную или даже совершенно новую среду.
См. Полную информацию для CreateProccess () Win32 API
Не существует поддерживаемого способа для дочернего процесса вернуться к родительскому процессу и изменить среду родителя.
Тем не менее, с помощью сценариев CMD и PowerShell родительская командная оболочка может получать выходные данные дочернего процесса и обновлять свою собственную среду. Это обычная техника.
лично, мне не нравятся какие-либо сложные сценарии CMD - они - сука, чтобы написать отладку. Возможно, вы захотите сделать это в PowerShell - конечно, есть кривая обучения, но она гораздо богаче.