- 締切済み
vbsで外部コマンドの終了判断
vbsのコード内でDOSコマンドを呼び出して処理完了後に 次の処理をさせたいのですが例えば、ファイルをコピーし、直後に コピーしたファイルを整形しようとするとエラーになってしまいます。 試しにスリープさせたところ、3秒位スリープさせるとうまくいきました。 vbsにおいて、前の処理が正常終了するまで待機し、処理をしないようにするには どのように書けばよろしいでしょうか よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
回答No.1
コピーなどのコマンドが終了してもOS内での処理が継続して、直後にはファイルの削除や更新が出来ないことがあるようです。 スリープはやむを得ないと思います。 試してませんが、外部コマンドを呼び出さず、FileSystemObject.CopyFile でコピーするともしかするとうまくいくかも。
お礼
ご回答ありがとうございます。 CopyFileやってみました。しかし CopyFileは除外ができないのですね… コピー元フォルダに複数のファイルかつ、拡張子部分が zipファイルと一意の番号のローテーションするファイルがあり、zipファイルをコピーしたくないので xcopyで除外してました。 今後ファイル容量は増えないのでスリープさせます。 ありがとうございました。