2012-01-15 100 views

回答

5

这不是很清楚的脚本应该如何熟悉与讨论的路径,但下面的例子中至少应该给你如何进行一个想法:

FOR %%D IN ("%CD%") DO SET "DirName=%%~nxD" 
ECHO %DirName% 

这个脚本获取从CD变量的路径,并从中只提取名称为DirName

+0

哦,男孩,我觉得愚蠢。谢谢你。 – cafevincent 2012-01-15 17:50:50

+0

@cafevincent你应该接受它作为答案。 – 2012-01-17 06:37:26

+1

要正确地处理名称中包含一个点“。”的文件夹名称,您应该使用'%%〜nxD'而不是 – 2012-01-17 06:39:22

-1

可以使用basename命令:

FULLPATH=/the/full/path/is/known 
JUSTTHENAME=$(basename "$FULLPATH") 
+1

-1:'basename'在Windows上不可用。 – 2014-04-23 09:07:47

-1

您可以使用内置的bash招数:

FULLPATH=/the/full/path/is/known 
JUSTTHENAME=${FULLPATH##*/} 

说明:从

  • 第一#手段“去掉模式开始'
  • #装置“中删除不再可能图案”
  • */是图案

使用内置bash避免调用外部命令(即basename)因此这优化你的脚本。但是脚本的便携性较差。

+0

我不知道如何实现这一点。看起来有点超过我的expertiese(没有我知道的任何可接受的命令)我需要一点点演练 – cafevincent 2012-01-16 15:24:37

+0

@cafevincent请给出一个例子:你的目录,你的文件是什么,你需要一行命令还是需要修改一个脚本?你说“dir的完整路径已知”=>什么是变量名? – olibre 2012-01-17 12:39:16

+1

-1:这是关于Windows批处理文件,而不是bash。 – 2014-04-23 09:08:06

相关问题