1

ループ内で別のプログラム (meshlab) を呼び出すバッチ コードがあります。1 つのインスタンスの平均時間は約 6 分で、場合によってはそれ以上かかることもあります (複雑な計算でスタックしている可能性があります)。ループが次のステップに進むためのタイマーを設定できる可能性があるかどうかを知りたいです。コードの例を次に示します。

   FOR %%I IN (C:\Users\Salam\Desktop\PreProcessed_Bosphorus\bs!var!\*.ply) DO (
        meshlabserver -i %%~dpnxI -o %%~nI.ply -s C:\Users\Salam\Desktop\PreProcessed_Bosphorus\iso_per.mlx -om vn -l %%~nI.txt
    )
4

2 に答える 2

0

いいえ、バッチではできません。FORにはそれを行うためのパラメータがなく、別の方法で meshlabserver への呼び出しを中断することはできません。これは、meshlabserver が実行されている間はバッチ スクリプトが無効になるためです。

スレッド化をサポートするプログラミング言語を使用している場合は、meshlabserver プログラムをバックグラウンドで起動し、それを待ち、スレッド (およびおそらくプロセス自体) を強制終了することができます。

于 2013-10-06T08:45:22.897 に答える