gpt4 book ai didi

windows - 调用另一个批处理文件的批处理文件失败

转载 作者:可可西里 更新时间:2023-11-01 11:50:37 25 4
gpt4 key购买 nike

我有一个批处理文件 a.bat,实际上看起来像这样:

call some.bat

java -cp "saxon9he.jar" net.sf.saxon.Transform abc.xml des.xsl > des.xml

call subfolder\other.bat

子文件夹 中的other.bat 实际上看起来像这样:

call yet_another_batch.bat

java -cp "../saxon9he.jar" net.sf.saxon.Transform any.xml try.xsl > try.xml
java -cp "../saxon9he.jar" net.sf.saxon.Transform ../some.xml test.xsl

因此在第一个文件 (a.bat) 中,我调用同一文件夹中的另一个批处理文件和同一文件夹中的一些 xsl 脚本,将 xml 文件写入同一文件夹。从第一个批处理脚本 (a.bat) 我想调用 subfolder\other.bat。但是,当我这样做时,它无法调用 subfolder 中的 yet_another_batch.bat 以及 subfolder 中的 xsl 脚本,并且找不到saxon9he.jar.

正确的做法是什么?我是否必须将文件夹名称添加到 subfolder\other.bat 中引用的所有文件?似乎有点麻烦。我使用的是 Windows 7,如果这有任何改变的话。

最佳答案

像这样向 other.bat 添加两行:

pushd "%~dp0"
call yet_another_batch.bat

java -cp "../saxon9he.jar" net.sf.saxon.Transform any.xml try.xsl > try.xml
java -cp "../saxon9he.jar" net.sf.saxon.Transform ../some.xml test.xsl
popd

使用 pushd , other.bat 将从它自己的文件夹中执行它的命令。 popd将其设置回去,以便当您返回 a.bat

时目录不会更改

关于windows - 调用另一个批处理文件的批处理文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30823590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com