【发布时间】:2012-02-10 21:14:31
【问题描述】:
我正在编写一个处理文件夹的脚本,其中总是有一个文件需要重命名。新名称应该是父目录名称。我如何在批处理文件中获取它?目录的完整路径是已知的。
【问题讨论】:
标签: variables batch-file directory parent
我正在编写一个处理文件夹的脚本,其中总是有一个文件需要重命名。新名称应该是父目录名称。我如何在批处理文件中获取它?目录的完整路径是已知的。
【问题讨论】:
标签: variables batch-file directory parent
目前还不清楚脚本应该如何熟悉相关路径,但以下示例至少应该让您了解如何继续:
FOR %%D IN ("%CD%") DO SET "DirName=%%~nxD"
ECHO %DirName%
此脚本从CD 变量中获取路径,并仅从中提取名称到DirName。
【讨论】:
. 的文件夹名称,您应该改用%%~nxD
你可以使用内置的bash技巧:
FULLPATH=/the/full/path/is/known
JUSTTHENAME=${FULLPATH##*/}
解释:
# 表示“从头开始删除模式”# 表示“删除可能更长的模式”*/ 是模式使用内置的bash 避免调用外部命令(即basename),因此这可以优化您的脚本。但是该脚本的可移植性较差。
【讨论】:
batch 和bash :(
你可以使用basename命令:
FULLPATH=/the/full/path/is/known
JUSTTHENAME=$(basename "$FULLPATH")
【讨论】: