2016-09-02 11 views
0

Windowsバッチファイルを使用して、BaseXデータベースでXQuery要求を自動化しています。構文は次のとおりです。出力リダイレクト/ BaseXの後にWindowsバッチが中断します

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

「commands1.txt」などのファイルには、実際のBaseXコマンドが含まれています。出力ファイルを指定するパラメータ "-o"がありますが、これはうまくいかないようです。私がXQueryの結果をキャッチするために見つけた唯一の方法は、バッチファイルで ">"を使って出力リダイレクトを行うことです。

問題:バッチファイルは、最初の行の後、つまり\ result \ 1.xmlを書き込んだ後に実行を中断します。次の行 "commands2.txt"と "commands3.txt"は呼び出されません(すべてが存在し、同じフォルダーにありますが、バッチファイルの最初の行が正しく呼び出されます)。

Windowsのバッチ出力のリダイレクトに関するすべての情報を読みましたが、何の説明もできませんでした。次の例では、正常に動作します:

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

BaseXバッチファイルは、(上記の最初の例を参照)は動作しませんなぜ私は多くの入力をお願い申し上げますか!

+1

は '.. \ bin \ basex.exe'または' .. \ bin \ basex.bat'ですか? – Stephan

+0

'.. \ bin \ basex.bat' - (そのdirectoyには.exeファイルや.cmdファイルはありません) – enahel

答えて

1

batファイルを呼び出すには、call batfile.batを使用します。 batfile.batを使用している場合は、コントロールをそのコントロールに転送します。返品はありません。

call "batfileを呼び出し"返します。

+0

うわー!それは速かった。どうもありがとうございました! ---修正されたファイルを実行すると、cmdの出力が進まないのはなぜですか?これは 'call .. \ bin \ basex.bat -c" test1_ne u.txt "1>"。\ result \ test1.xml "と表示され、他のxmlファイルが正しく書かれてもコンソールには表示されません実行される他の行 – enahel

+0

'basex.bat'は' @echo OFF'で始まり、それをONに戻す気にはなりません。 – Stephan

+0

ご助力ありがとうございます! – enahel

関連する問題