获取父目录在Windows不能正常工作8批处理文件
我有一个文件夹结构获取父目录在Windows不能正常工作8批处理文件
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
我已经安装的窗户8 OS。我想从当前目录中获取父目录。可能是我不知道获取父目录的正确语法。
有两种方法可以获取文件/文件夹的引用:批处理文件的参数和for
命令。第二个选项就是我们在这里使用的。因为它是不明确的,你需要什么样的父母,让我们来看看如何获得每个
1 - 获取父当前Active Directory
for %%a in (..) do echo %%~fa
的进去的for
当前活动文件夹的父参考替换参数%%a
,一旦我们有参考,得到了完整路径
2 - 获取文件夹的控股母公司的批处理文件
for %%a in ("%~dp0.") do echo %%~dpa
同样的想法。 %0
是对当前批处理文件的引用,因此%~dp0
是存储批处理文件的驱动器和路径。该值以反斜杠结束,因此,为了获得对该文件夹的引用,添加了一个附加点。一旦我们在%%a
中引用了保存批处理文件的文件夹,%%~dpa
将返回存储%%a
中引用的元素的驱动器和路径。由于%%a
是保存批处理文件的文件夹,%%~dpa
是父文件夹,其中存储了批处理文件夹的文件夹。
假设我有一个类似c:\ user \ myname \ check \ test的结构,我需要一个从c:\ user \ myname的路径。我怎么才能得到它? – Kumar 2014-09-26 06:43:01
@Kumar,'for %% a in(“c:\ user \ myname \ check \ test \ .. \ ..”)do echo %%〜fa' – 2014-09-26 07:12:12
@kumar,或以相对方式'for%a在(.. \ ..)do echo%〜fa' – 2014-09-26 07:13:56
相似http://stackoverflow.com/questions/16623780/how-to-get-windows-batchs-parent-folder – elimad 2014-09-26 06:18:04
假设我有像c:\ user \ myname \ check \ test这样的结构,我需要一个从这里作为c:\ user \ myname的路径。我怎么才能得到它? – Kumar 2014-09-26 06:52:58