我需要获取当前正在执行的批处理文件的文件夹名称。我一直在尝试使用以下语法(目前是错误的)遍历当前目录:
set mydir = %~p0
for /F "delims=\" %i IN (%mydir%) DO @echo %i
我似乎无法将“mydir”变量值作为搜索字符串传递进来的几个问题。它似乎只有在我传递命令时才有效;我的语法有误,无法找出原因。
我的想法是使用“\”分隔符遍历文件夹字符串,但这也导致了问题。如果我在每个循环上设置一个变量,那么最后设置的值将是当前文件夹名称。例如,给定以下路径:
C:\Folder1\Folder2\Folder3\Archive.bat
我希望解析出值“Folder3”。
我需要解析该值,因为它的名称将成为我将在批处理文件中进一步创建的另一个文件夹的一部分。
如果有人能提供帮助,非常感谢。我可能完全找错了树,所以任何其他方法也会受到欢迎。
最佳答案
在与其中一些建议作斗争后,我发现成功使用了以下 1 个衬里(在 windows 2008 中)
for %%a in (!FullPath!) do set LastFolder=%%~nxa
关于windows - 遍历文件夹字符串并解析出最后一个文件夹名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/280969/