Tra*_*ter 3 batch-file git-bash
我有一个这样的文件夹C:\repos\3333-new-feature。从该位置,在 git bash 终端中,我运行一个 bat 文件:
/c/repo/3333-new-feature
$ myBat.bat
Run Code Online (Sandbox Code Playgroud)
bat 中的指令之一应使用目录名称,如下所示:
git flow feature start 3333-new-feature
Run Code Online (Sandbox Code Playgroud)
如何创建一个仅是当前目录名称的变量?例如git flow feature start %currentDirectory%?
您不清楚自己到底在寻找什么。
如果您想要正在运行的批处理脚本所在的文件夹的名称,那么您只需要"%~nx0".
如果您想要当前目录路径中的最后一个文件夹名称,那么
for %%F in ("%CD%") do set "folder=%%~nxF"
Run Code Online (Sandbox Code Playgroud)
请注意,如果当前目录恰好是根目录,则文件夹将未定义。
无论您使用哪种形式, the~nx都是一个修饰符,它返回给定路径的叶节点的名称和扩展名。有关参数和 FOR 变量修饰符的详细信息,请从命令行输入HELP FOR或。HELP CALL在这两种情况下,修饰符都会在帮助末尾附近进行解释。
另请注意,虽然%0如果当前位于 ed 例程中,则将扩展为标记例程的名称CALL,但添加任何修饰符(例如)%~nx0将始终引用批处理文件。这非常方便。