@setlocal @set "thisfile=%~f0" @echo "%thisfile%" @set "thisfile=%thisfile:^=\^%" @set "thisfile=%thisfile:>=^>%" @set "thisfile=%thisfile:<=^<%" @set "thisfile=%thisfile:&=^&%" @set "thisfile=%thisfile:|=^|%" @set "thisfile=%thisfile:)=^)%" @set "thisfile=%thisfile:(=^(%" @set "thisfile=%thisfile:[=^[%" @set "thisfile=%thisfile:]=^]%" @set "thisfile=%thisfile:"=\"%" @echo escaped-thisfile "%thisfile%" @echo; @endlocal #### $ "rock&roll\this3.bat" "D:\rock&roll\this3.bat" escaped-thisfile "D:\rock^&roll\this3.bat" $ D:\rock^&roll\this3.bat "D:\rock&roll\this3.bat" escaped-thisfile "D:\rock^&roll\this3.bat"