我有一个这样的文件夹C:\repos\3333-new-feature
。从那个位置,在一个 git bash 终端中,我运行一个 bat 文件:
/c/repo/3333-new-feature
$ myBat.bat
bat 中的指令之一应使用目录名称,如下所示:
git flow feature start 3333-new-feature
如何创建一个只是当前目录名称的变量?例如git flow feature start %currentDirectory%
?
我有一个这样的文件夹C:\repos\3333-new-feature
。从那个位置,在一个 git bash 终端中,我运行一个 bat 文件:
/c/repo/3333-new-feature
$ myBat.bat
bat 中的指令之一应使用目录名称,如下所示:
git flow feature start 3333-new-feature
如何创建一个只是当前目录名称的变量?例如git flow feature start %currentDirectory%
?
您不清楚您到底在寻找什么。
如果您想要正在运行的批处理脚本所在文件夹的名称,那么您只需要
"%~nx0"
.如果您想要当前目录路径中的最后一个文件夹名称,则
请注意,如果您的当前目录恰好是根目录,则文件夹将未定义。
无论您使用哪种形式,
~nx
都是一个修饰符,它返回给定路径的叶节点的名称和扩展名。有关参数和 FOR 变量的修饰符的更多信息,请输入HELP FOR
或HELP CALL
从命令行输入。在这两种情况下,修饰符都会在帮助末尾附近进行解释。另请注意,虽然如果当前在ed 例程中,
%0
将扩展为标记例程的名称,但添加任何修饰符 like将始终引用批处理文件。这非常方便。CALL
%~nx0
您可以使用
.
带或不带/d
(目录)的相对路径:在命令行中:
在.cmd / .bat文件中:
或者,您可以连接
/
到您的路径,替换\
为,也可以在一行中//
删除:
和不使用循环for
在命令行或.cmd / .bat文件中
.
考虑到它是当前目录,您也可以直接尝试使用:一些进一步的阅读:
[√]设置
[√]循环
[√] For /F 循环
[√] CMD/蝙蝠字符串操作
[√]字符串操作/dostips.com