bat中的变量逃逸

Variable escape in bat

我有一个bat文件,就像它一样:

if "%HOME_PATH:nodejs=%"=="%HOME_PATH%" (

当我的 HOME_PATH 包含 "C:\Program Files (x86)\WinRAR"() 或其他一些字符时,此处不允许!

我该怎么做?

使用延迟扩展。
延迟扩展从来没有内容问题

setlocal EnableDelayedExpansion
if "!HOME_PATH:nodejs=!"=="!HOME_PATH!" (