我说的是变量
var="dev02,qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc"
我需要将其转换为
qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc
通过删除,
首次出现之前的所有字符
如何使用批处理脚本执行此操作?
答案 0 :(得分:4)
您可以做的是使用变量扩展和替换。
在这种情况下,鉴于您声明的变量内容为:
dev02,qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc
您可以简单地扩展变量,将所有内容替换为第一个逗号,直到没有任何内容为止:
Echo(%var:*,=%
要设置初始变量%var%
,应将语法更改为此:
Set "var=dev02,qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc"
这将防止双引号包含在变量值中,防止意外尾随空格并保护内容。
答案 1 :(得分:2)
您可以在for
上使用for /?
循环(请参阅delimit
),
,然后对结果进行一些处理:
@set "var=dev02,qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc"
@for /f "tokens=1* delims=," %%i in ("%var%") do @echo(%%j