如何在Windows批处理cmd和Linux文件中的特定文件的两级父目录?
例如:
C:\ Oracle \ Middleware \ Oracle_Home \ my \ this.bat 在窗口中
\ opt \ home \ this \ my \ this.sh in linux
当运行上面的批处理文件时,我想得到C:\ Oracle \ Middleware \(这个批处理文件的父目录的父目录)
我在窗口中查看了以下内容,但只能获取第一个父文件夹:
set CURRENT_DIR=%cd%
cd %~dp0\..
set PARENT_DIR=%cd%
echo %PARENT_DIR%
答案 0 :(得分:0)
对于WINDOWS:
再做另一个cd..
:
cd %~dp0 &cd.. &cd.. &echo %cd%
你也可以试试这个:
cd %~dp0\..\..
但我不知道,如果这适用于所有Windows版本。
答案 1 :(得分:0)
对于Windows
for %%f in ("%cd%\..\..") do set "secondParentFolder=%%~ff"
echo %secondParentFolder%
使用for
命令中的相对路径可以获得绝对路径
对于linux,也许这样的东西可以工作(未经测试)
secondParentFolder="$(cd ../../; pwd)"