• 締切済み

vbsで外部コマンドの終了判断

vbsのコード内でDOSコマンドを呼び出して処理完了後に 次の処理をさせたいのですが例えば、ファイルをコピーし、直後に コピーしたファイルを整形しようとするとエラーになってしまいます。 試しにスリープさせたところ、3秒位スリープさせるとうまくいきました。 vbsにおいて、前の処理が正常終了するまで待機し、処理をしないようにするには どのように書けばよろしいでしょうか よろしくお願いします。

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

コピーなどのコマンドが終了してもOS内での処理が継続して、直後にはファイルの削除や更新が出来ないことがあるようです。 スリープはやむを得ないと思います。 試してませんが、外部コマンドを呼び出さず、FileSystemObject.CopyFile でコピーするともしかするとうまくいくかも。

na0s5rt
質問者

お礼

ご回答ありがとうございます。 CopyFileやってみました。しかし CopyFileは除外ができないのですね… コピー元フォルダに複数のファイルかつ、拡張子部分が zipファイルと一意の番号のローテーションするファイルがあり、zipファイルをコピーしたくないので xcopyで除外してました。 今後ファイル容量は増えないのでスリープさせます。 ありがとうございました。

関連するQ&A