我的文件夹结构为
c:\name\myname
我写了一个批处理文件
test.bat的
@echo off
echo %CD%
echo %CD%\..
set k=%CD%
set c=%k%\..
echo %k%
echo %c%
pause
输出
c:\name\myname
c:\name\myname\\..
c:\name\myname
c:\name\myname\\..
预期输出
c:\name\myname
c:\name
c:\name\myname
c:\name
我已经安装了Windows 8操作系统。我想从当前目录获取父目录。可能我不知道获取父目录的正确语法。
答案 0 :(得分:3)
有两种方法可以获取对文件/文件夹的引用:批处理文件和for
命令的参数。第二个选项是我们将在这里使用的。由于目前尚不清楚您需要什么样的父母,让我们看看如何获得每个
1 - 获取当前活动目录的父目录
for %%a in (..) do echo %%~fa
获取对for
可替换参数%%a
中当前活动文件夹的父级的引用,一旦我们获得了引用,请获取它的完整路径
2 - 获取包含批处理文件的文件夹的父级
for %%a in ("%~dp0.") do echo %%~dpa
同样的想法。 %0
是对当前批处理文件的引用,因此%~dp0
是存储批处理文件的驱动器和路径。此值以反斜杠结尾,因此,要获取对文件夹的引用,请添加aditional dot。在%%a
中有对包含批处理文件的文件夹的引用后,%%~dpa
将返回存储%%a
中引用的元素的驱动器和路径。由于%%a
是包含批处理文件的文件夹,因此%%~dpa
是父文件夹,该文件夹存储了批处理文件夹。