【问题标题】:How to get two level parent directory in window and linux batch file如何在window和linux批处理文件中获取两级父目录
【发布时间】:2014-07-19 16:58:40
【问题描述】:

windows批处理cmd和linux文件中具体文件的二级父目录如何处理?

例如:

C:\Oracle\Middleware\Oracle_Home\my\this.bat 在窗口中

\opt\home\this\my\this.sh 在 linux 中

当运行上面的批处理文件时,我想得到 C:\Oracle\Middleware\(这个批处理文件的父目录的父目录)

我在窗口中写了以下内容,但只能获取第一个父文件夹:

set CURRENT_DIR=%cd%
cd %~dp0\..
set PARENT_DIR=%cd%
echo %PARENT_DIR%

【问题讨论】:

    标签: linux windows batch-file command


    【解决方案1】:

    对于 WINDOWS:

    再做一个cd..

    cd %~dp0 &cd.. &cd.. &echo %cd%
    

    你也可以试试这个:

    cd %~dp0\..\..
    

    但我不知道这是否适用于所有 Windows 版本。

    【讨论】:

      【解决方案2】:

      对于窗户

      for %%f in ("%cd%\..\..") do set "secondParentFolder=%%~ff"
      echo %secondParentFolder%
      

      for 命令中使用相对路径可以获得绝对路径

      对于 linux,也许这样的东西可以工作(未测试)

      secondParentFolder="$(cd ../../; pwd)"
      

      【讨论】:

        猜你喜欢
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 2016-01-12
        • 2014-11-21
        • 2013-06-08
        • 1970-01-01
        • 1970-01-01
        • 2013-05-13
        相关资源
        最近更新 更多