如何获取我运行命令的目录名称

特拉维斯·海特(Travis Heeter)

我有一个像这样的文件夹C:\repos\3333-new-feature然后从那个位置,在git bash终端中,运行一个bat文件:

/c/repo/3333-new-feature
$ myBat.bat

蝙蝠中的指令之一应使用目录名,如下所示:

git flow feature start 3333-new-feature

我如何才能使变量仅是当前目录的名称?例如git flow feature start %currentDirectory%

德本纳姆

您不清楚您到底在寻找什么。

如果您想要运行的批处理脚本所在的文件夹的名称,那么您所需要做的就是"%~nx0"

如果要在当前目录路径中使用最后一个文件夹名称,则

for %%F in ("%CD%") do set "folder=%%~nxF"

请注意,如果您的当前目录碰巧是根目录,则该文件夹将是未定义的。

无论使用哪种形式,~nx都是一个修饰符,它返回给定路径的叶节点的名称和扩展名。有关参数和FOR变量的修饰符的更多信息,请从命令行输入HELP FORHELP CALL在这两种情况下,修饰符都会在帮助末尾进行解释。

还要注意,尽管%0如果当前在CALLed例程中,它将扩展为带标签的例程的名称,但是添加任何修饰符(例如)%~nx0将始终引用批处理文件。这非常方便。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章