Когда каждый процесс запускается, он получает копию переменных окружения родительского процесса.Итак, если вы использовали Windows Explorer для запуска командной строки.Вы получаете копию переменных среды Explorer.exe, но когда вы редактируете ее в cmd.exe, вы не редактируете значение для остальной системы.
При этом Windows предоставляет событие, которое обрабатываетможно подписаться, чтобы им сказали, что есть новое значение для переменных среды.Если вам интересно, я могу попытаться откопать это.Я уже использовал его для переменной среды Path и думаю, что он может относиться к вашей проблеме.
Похоже, вы должны создать bat-файл.Это запросит у пользователя имя пользователя и поместит его в переменную окружения %USERNAME%
.
SET /p USERNAME=What is your UserName?
putty /user:%username%