cmd.exe では、等号の前後に空白を入れずに代入を書きます。

set "HTTP_PROXY=http://proxy.example:8080"

一見よく似た次のコマンドは、別の結果になります。

set HTTP_PROXY = http://proxy.example:8080

名前の末尾に空白が入り、値の先頭にも空白が入ります。HTTP_PROXY を参照するアプリケーションは HTTP_PROXY を要求しているわけではありません。表示された代入はほぼ正しく見えても、目的の参照は空のままです。

代入全体を引用符で囲めば、値の末尾に余計な空白が紛れ込むのも防げます。値だけを引用符で囲むのは別の形式で、保存された値に引用符の文字が残ることがあります。

例のリスナーは、ご利用のサービスまたは HTTP プロキシ一覧 の HTTP エンドポイントに置き換えてください。目的のクライアントはそのコマンドウィンドウから起動し、変数を継承させます。すでに別の場所で動作しているアプリケーションは、新しい環境を引き継ぎません。

これは cmd.exe の構文です。PowerShell では $env:HTTP_PROXY = 'http://proxy.example:8080' のような環境変数の代入を使います。PowerShell では、この式の空白は同じ誤りではありません。それでもプログラムが、指定された変数とプロキシプロトコルに対応している必要があります。

関連記事