我正在处理一个处理文件夹的脚本,并且总是有一个文件需要重命名。新名称应该是父目录名称。我如何在批处理文件中得到这个?目录的完整路径是已知的。批处理脚本:如何在没有完整路径的情况下获取父目录名称?
回答
这不是很清楚的脚本应该如何熟悉与讨论的路径,但下面的例子中至少应该给你如何进行一个想法:
FOR %%D IN ("%CD%") DO SET "DirName=%%~nxD"
ECHO %DirName%
这个脚本获取从CD
变量的路径,并从中只提取名称为DirName
。
可以使用basename
命令:
FULLPATH=/the/full/path/is/known
JUSTTHENAME=$(basename "$FULLPATH")
-1:'basename'在Windows上不可用。 – 2014-04-23 09:07:47
您可以使用内置的bash
招数:
FULLPATH=/the/full/path/is/known
JUSTTHENAME=${FULLPATH##*/}
说明:从
- 第一
#
手段“去掉模式开始' - 秒
#
装置“中删除不再可能图案” */
是图案
使用内置bash
避免调用外部命令(即basename
)因此这优化你的脚本。但是脚本的便携性较差。
我不知道如何实现这一点。看起来有点超过我的expertiese(没有我知道的任何可接受的命令)我需要一点点演练 – cafevincent 2012-01-16 15:24:37
@cafevincent请给出一个例子:你的目录,你的文件是什么,你需要一行命令还是需要修改一个脚本?你说“dir的完整路径已知”=>什么是变量名? – olibre 2012-01-17 12:39:16
-1:这是关于Windows批处理文件,而不是bash。 – 2014-04-23 09:08:06
- 1. 获取批处理脚本中特定路径的父目录
- 2. 在Python中没有完整路径的情况下获取当前目录
- 3. 在没有WMI的情况下获取完整的CPU名称
- 4. 如何从批处理脚本中的文件路径获取目录路径
- 5. 如何从PHP的完整路径获取目录名称?
- 6. 在批处理脚本绝对路径提取目录/子目录名
- 7. 从没有完整路径的目录中获取文件名
- 8. 批处理文件:获取父目录的绝对路径
- 9. 获取父目录名称和文件名,但没有扩展名从完整的文件路径在bash中?
- 10. 如何在没有完整路径的情况下使用批处理程序编辑文件?
- 11. 批处理:获取上一个目录中文件夹的完整路径?
- 12. 如何在没有FacesContext的情况下获取资源路径?
- 13. 如何从批处理文件中的完整路径中提取目录的名称?
- 14. 获取目录名称不完整路径(C UNIX)
- 15. 使用ant,在不知道完整路径的情况下重命名目录?
- 16. 在批处理脚本中获取文件父目录的全名
- 17. 如何获取当前shell脚本的完整路径名?
- 18. Javascript:获取目录的完整路径
- 19. 如何从exe的完整路径获取Innosetup脚本中exe的名称?
- 20. 如何在windows批处理模式下无需文件扩展名的完整路径获取文件名
- 21. 如何在没有完整路径的情况下使用grunt.js复制文件?
- 22. 批处理脚本错误 - mkdir不能用完全合格的目录路径
- 23. 如何获取cmake路径上的所有目录名称?
- 24. Windows批处理脚本检索目录路径并通过它
- 25. 在没有getopts的情况下处理shell脚本的标志
- 26. 批处理比较路径名称%1
- 27. 避免路径名称与批处理
- 28. 如何获取图标名称的完整文件路径?
- 29. 如何获取D://文件夹名称的完整路径?
- 30. 在windows批处理脚本中获取路径的文件名部分
哦,男孩,我觉得愚蠢。谢谢你。 – cafevincent 2012-01-15 17:50:50
@cafevincent你应该接受它作为答案。 – 2012-01-17 06:37:26
要正确地处理名称中包含一个点“。”的文件夹名称,您应该使用'%%〜nxD'而不是 – 2012-01-17 06:39:22