%PATH%の要素分解

%PATH% を;で切り離してそれぞれの要素を別々に処理したいとき、

for %%I in (%PATH%) do echo %%I

で、おおむね良いが、「Program Files」のように空白が入っているとそれが区切りになって
うまく処理されない。PATHに追加するときに、「PROGRA~1」のように短名をつかうとか
"Program Files"とここだけ" "で囲むという見苦しい逃げを打つ手もある。

正攻法では、for がPATHを分解するときだけ、" " で囲って、分解された後は " " をはずして処理する。
一時的に""で囲うのは、PATH要素の区切りである ; を ";" で置換して、最初と最後に " を付ければいい。

for %%I in ("%PATH:;=";"%") do echo %%~I

制御変数Iから" "をはずすのは、%%~I 、はずす必要がなければ、%%I とそのまま使えばいい。