O seguinte adiciona 'C: \ bin' ao seu caminho e, em seguida, salva o novo caminho no Registro:
set path=%path%;C:\bin
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d %path% /f
Eu só testei isso no XP SP3, mas ele deve funcionar em versões mais recentes também.
Eu acho que um novo usuário que faz logon antes da reinicialização da máquina pode não obter o novo caminho.
Harry está certo com o comentário dele sobre% SystemRoot%, se você quiser mantê-los, você precisa primeiro puxar o valor antigo para o caminho do registro:
@echo OFF
set KEY_NAME="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
set VALUE_NAME=Path
FOR /F "usebackq skip=4 tokens=1-3" %%A IN ('REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul') DO (
set ValueName=%%A
set ValueValue=%%C
)
if defined ValueName (
set newPath=%ValueValue%;C:\bin
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d %newPath% /f
set path=%path%;C:\bin
) else (
@echo %KEY_NAME%\%VALUE_NAME% not found.
)