我想在分支名称后命名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
编辑:我不确定它是否可能,但我没有看到其他方式获得唯一的目录名称。答案 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"