如何从env变量中删除斜杠?

时间:2017-04-13 11:43:16

标签: batch-file

我想在分支名称后命名dir,但分支名称始终以

为前缀
origin/
eg. origin/master, origin/core

我的env变量设置如下:

set BRANCH="origin/master"

接下来如果我尝试

mkdir %BRANCH%

命令,该目录名为 origin ,因为dir名称中不接受斜杠。 BRANCH var的设置是在我的部分代码之外设置的。

我想用斜线后的字符串命名mkdir例如。如果 BRANCH 是" origin / master"我想要make dir,它将被称为 master

编辑:我不确定它是否可能,但我没有看到其他方式获得唯一的目录名称。

2 个答案:

答案 0 :(得分:2)

您可以这样替换/

set "branch2=%BRANCH:/=%"

现在,如果在branch2上执行回显,结果为:

"originmaster"

注意:您应该像

一样分配您的BRANCH变量
set "BRANCH=origin/master" instead of set BRANCH="origin/master".

现在,要获得您想要的关键字,您可以执行以下操作:

for /f "delims=/ tokens=2" %i in ('echo^(%BRANCH%') do set "branch3=%i"

答案 1 :(得分:0)

虽然Windows在文件路径中使用反斜杠,但使用不正确的正斜杠存在一些兼容性。

FOR %%A IN ("%BRANCH%") DO IF NOT EXIST "%%~nxA\" MD "%~nxA"