如何在批处理文件中编写此内容

3

我正在尝试将一个shell脚本转换成批处理文件,但是我卡在这个地方了。

我不太确定如何将这行代码转换成批处理文件。

$(echo $(cd $(dirname $0)/../..; pwd))

我尝试过

echo %(cd %(dirname %0%)%/.../..; pwd)%

但我不确定我是否正确!

(该文本已被翻译,保留HTML标记)

我很惭愧地说,我的Linux shell已经生疏了。你的原始代码是做什么的? - SomethingDark
我的代码实际上是用来编译某些东西的。但实际上,我也卡在其他地方了。 现在,我需要递归地复制一个文件到特定文件夹,并保留用户权限。 - user3281103
@Something 打印出当前运行脚本所在目录的上两级目录名称。 - Petr Skocik
可以更简单和更健壮:(cd "$(dirname "$0")"/../..; pwd) - Petr Skocik
1个回答

2

在批处理中,您不能像这样进行命令链接。如果我看得正确,您想要获取当前执行脚本的目录上两级目录的绝对路径。您可以尝试以下方法:

@ECHO OFF
CD %~dp0\..\..
ECHO %CD%

该命令用于更改当前目录。为了避免这种情况,可以使用以下命令:

@ECHO OFF
PUSHD %~dp0\..\..
ECHO %CD%
POPD

让我试一下,如果可以的话我会告诉你!谢谢 - user3281103

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接