有没有办法让Windows shell脚本执行相对于其位置的所有内容而不是从中调用的位置?

Tho*_*ens 2 windows perl batch-file

我知道%~dp0,它代表包含批处理脚本的完全展开的目录,但我正在寻找的是:

  • 一种从Perl调用批处理脚本的方法,允许我在不修改的情况下使用批处理脚本,并使其中的所有目录与批处理脚本位置相关
  • 我可以在批处理脚本中放入一个语句,该脚本是一个标志,用于将批处理脚本的位置作为所有目录的起点

我目前正在Perl中使用此方法调用批处理脚本:

`"../run.bat" -f $ARGV[$#ARGV]`;
Run Code Online (Sandbox Code Playgroud)

然后捕获输出并对其进行处理.

inn*_*naM 5

我不太清楚我理解你的问题.但是,为什么不简单地将perl脚本中的当前目录更改为批处理脚本的目录,然后调用批处理脚本?