setとsetx、どちらも環境変数を設定するコマンドです。
似ているコマンドですがその違いは簡単に
set
現在のコンソール内でのみ有効、コンソールを閉じると設定した内容は無効になる。
setx
設定した環境変数は永続的に設定される。現在のコンソールを閉じて次回のコンソールから有効化。
となります。
ただしsetxでは、設定した環境変数をコマンドから削除することは出来ません。
「コントロールパネル」-「システムとセキュリティ」-「システム」-「システム詳細設定」-「環境変数」のダイアログを開いて手動で行う必要があります。またレジストリ「HKEY_CURRENT_USER\Environment」でも削除しないといけないようなので少しめんどくさいですね……。
一時的に環境変数を設定したい場合は「set」、恒久的に環境変数を設定したい場合は「setx」の使い分けになります。