1

システム間の自動エクスポート/インポートを構築しています。ディレクトリが空になったときのキーオフされた未定義/可変期間の待機を考案することを除いて、私たちは良いです。

1 つのシステムからファイルをエクスポートします。ファイルを別のシステムにインポートします。ファイルの数によって異なります。インポートの期間は著しく異なります。

2 つの結果ディレクトリ (インポートの成功とインポートの失敗) で項目数をテストできるように、インポート ステージング ディレクトリが空になるのを待つ必要があります。残念ながら、インポート メカニズムは Windows サービスであるため、バッチから呼び出すことはできません。

私たちが思いついた最良のアイデアは、インポート ステージング ディレクトリにファイルがあるかどうかをループ チェックすることです。基本的に、ディレクトリが空になるまで、たとえば 30 秒待機してループし続けます。(ディレクトリに 1 つ以上のオブジェクトが含まれている場合は、30 秒待ち、それ以外の場合はバッチを続行します。

以前にこのような check\wait のスクリプトを作成した人はいますか?

4

1 に答える 1

3

PINGを使用して遅延を導入できます(すべてのWindowsプラットフォームで機能します)

DIR / B / ADを使用して、ファイルがあるかどうかをテストできます。後のコマンド&&は、DIRが成功した(ファイルが見つかった)場合にのみ実行されます。

@echo off
setlocal
set delay=30
set folder=myFolder

set /a delay+=1
:loop
>nul 2>nul dir /b /a-d * && (
  >nul ping -n %delay% ::1
  goto :loop
)
echo %folder% is now empty
于 2012-09-26T02:40:45.003 に答える