Windows 输出重定向/BaseX 后批处理中断

Windows batch breaks off after output redirect / BaseX

我正在使用 Windows 批处理文件来自动化 BaseX 数据库上的 XQuery 请求。语法如下:

..\bin\basex -c "commands1.txt" > ".\result.xml"
..\bin\basex -c "commands2.txt" > ".\result.xml"
..\bin\basex -c "commands3.txt" > ".\result.xml"

"commands1.txt" 等文件包含实际的 BaseX 命令并且工作正常。有一个参数“-o”来指定输出文件,但这似乎不起作用。我发现捕获 XQuery 结果的唯一方法是在批处理文件中使用“>”进行输出重定向。

问题:批处理文件在第一行之后中断执行,即在写入 .\result.xml 之后。下一行 "commands2.txt" 和 "commands3.txt" 不会被调用(即使它们都存在并且在同一个文件夹中,并且如果批处理文件的第一行它们确实被正确调用)。

我阅读了我能找到的关于 Windows 批量输出重定向的所有内容,但我想不出任何解释。以下示例运行良好:

echo 'hello' > test.txt
echo 'hello1' > test1.txt

非常感谢输入为什么 BaseX 批处理文件(参见上面的第一个示例)不起作用?

要调用 bat 文件,请使用 call batfile.bat。如果你只是使用 batfile.bat,你将控制权转移给它。没有return.

call "calls" 蝙蝠文件和 returns.