batch-file - 解析参数是逗号分隔的字符串,传递给批处理文件
问题描述
我有一个批处理文件,它接受一个参数,它是一个逗号分隔的字符串,我这样称呼它:
myBatch.bat ".git,*.tmp,file.c"
在批处理文件中,我需要编写一个代码来解析在命令行传递的参数并将其分解如下:
@echo off
set excludes=%~1
set excludes_cmd=""
FOR /f "tokens=1* delims=," %%a IN ("%excludes%") DO (
set "excludes_cmd=%%excludes_cmd%% --exclude %%~a"
)
所以最后,当我 pring 'excludes_cmd' 变量时,我会得到这个:
--exclude .git --exclude *.tmp --exclude file.c
解决方案
想出了与 Compo 类似的方法,只是将您的示例作为默认值插入。
@echo off
if "%~1"=="" "%~f0" ".git,*.tmp,file.c"
set "excludes=,%~1"
set "excludes_cmd=%excludes:,= --exclude %"
set excludes
excludes=,.git,*.tmp,file.c
excludes_cmd= --exclude .git --exclude *.tmp --exclude file.c
推荐阅读
- ruby-on-rails - 我是否必须创建一个新的 docker 容器来运行每个 rake 任务?
- sql - #符号之间的PLSql变量
- python - Keras,只有一张图像的人脸检测
- c# - Xamarin Android:如何创建组合框
- highcharts - Higcharts - 如何从图表的开头删除 groupPadding
- xml - 数据中的列与范围中的列数不匹配(数据有 12 但范围有 11)
- node-red - NodeRED 使 CTRL+S 导致“完成”按钮单击
- c# - 如何在没有存储过程的情况下获取更新的行主键
- drools - 如何“启动条件”进程jbpm7?
- excel - 当两者都在同一个工作簿中指定不同的工作表时,我可以将一个 With 嵌套在一个 With 中吗?VBA