一个笨办法先判断一下最后一字符是否为\ 另赋一变量统一结尾有\ (或统一无\) 类似:
set "cd_=%cd%"
if not "%cd:~-1%"=="\" set "cd_=%cd%\"
或先加再说,接着去掉多余的:
set "cd_=%cd%\"
set "cd_=%cd_:\\=\%"
上述两形式需在用到它的for类复合句之前单独设置,然后在需要用%cd%\ 处用%cd_%代
对于for 中特定变量或%1之类传入参数变量而言,有现成格式可用,也是最常用的形式,比如你所列举例子echo %cd%\%%a可改为
echo %%~fa
参见for/? 及 call/? 或还需要看看 set/?