Batch file 如何从env变量中删除斜杠?
我想在分支名称后命名dir,但分支名称的前缀总是Batch file 如何从env变量中删除斜杠?,batch-file,Batch File,我想在分支名称后命名dir,但分支名称的前缀总是 origin/ eg. origin/master, origin/core 我的环境变量设置如下: set BRANCH="origin/master" 所以下一步如果我尝试 mkdir %BRANCH% 命令,目录名为origin,因为斜杠在目录名中是不可接受的。分支var的设置在我的部分代码之外,更早进行 我想用斜杠后面的字符串命名mkdir,例如,如果分支是“origin/master”,我想制作一个名为master 编辑:我不确定
origin/
eg. origin/master, origin/core
我的环境变量设置如下:
set BRANCH="origin/master"
所以下一步如果我尝试
mkdir %BRANCH%
命令,目录名为origin,因为斜杠在目录名中是不可接受的。分支var的设置在我的部分代码之外,更早进行
我想用斜杠后面的字符串命名mkdir,例如,如果分支是“origin/master”,我想制作一个名为master
编辑:我不确定是否有可能,但我看不到获得唯一目录名的其他方法。您可以通过以下方式替换
/
:
set "branch2=%BRANCH:/=%"
现在,如果在branch2上执行回显,结果是:
"originmaster"
注意:您应该像这样分配分支变量
set "BRANCH=origin/master" instead of set BRANCH="origin/master".
现在,要获得所需的关键字,可以执行以下操作:
for /f "delims=/ tokens=2" %i in ('echo^(%BRANCH%') do set "branch3=%i"
虽然Windows在文件路径中使用反斜杠,但使用不正确的正斜杠还是有一定的兼容性 “%BRANCH%”中%%A的
如果不存在请执行“%%~nxA\“MD”%%~nxA”