Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何从env变量中删除斜杠?_Batch File - Fatal编程技术网

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

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 编辑:我不确定

我想在分支名称后命名dir,但分支名称的前缀总是

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”