我正在处理一个处理文件夹的脚本,其中总有一个文件我需要重命名。新名称应该是父目录名称。如何在批处理文件中获取此信息? dir的完整路径是已知的。
答案 0 :(得分:5)
目前还不清楚脚本应该如何熟悉相关路径,但以下示例至少应该让您了解如何继续:
FOR %%D IN ("%CD%") DO SET "DirName=%%~nxD"
ECHO %DirName%
此脚本从CD
变量获取路径,并仅从其中提取名称DirName
。
答案 1 :(得分:-1)
您可以使用basename
命令:
FULLPATH=/the/full/path/is/known
JUSTTHENAME=$(basename "$FULLPATH")
答案 2 :(得分:-1)
您可以使用内置bash
技巧:
FULLPATH=/the/full/path/is/known
JUSTTHENAME=${FULLPATH##*/}
说明:
#
表示'从开头'删除模式#
表示'删除较长的模式'*/
是模式使用内置bash
避免调用外部命令(即basename
)因此这会优化脚本。但是脚本的可移植性较差。