
正文
【batch】批处理文件多参数处理和for循环字符串连接
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
batch文件写起来,酸爽不谈了。 [1] 今天在github上发现个好东西batsh,运行地址:https://batsh.org/。 [1]
这里需求的场景是:调用run.bat脚本并传入多个参数(相对路径),脚本中对相对路径进行加前缀D:\然后拼接起来形成绝对路径,并且每个路径之间会以空格隔开。
例如执行 run.bat dir1 dir2 dir3,则脚本中拼接后的结果为 D:\dir1 D:\dir2 D:\dir3
run.bat脚本内容:
@echo off
set pathPrefix=D:\
set varStr=
::检测是否传入参数
if "%1"=="" (
echo No variable received, please call the bat with variables!
exit
) ::遍历参数,并将这些参数拼接起来
for %%i in (%*) do call :concat %%i
::将字符串最前面的空格去掉
set "varStr=%varStr:~1%"
echo %varStr%
pause
goto :eof ::对参数进行加前缀、拼接
:concat
set varStr=%varStr% %pathPrefix%%
goto :eof
[1] added on 2019-01-08。







