1

zipファイルを解凍し、解凍したら削除したい。Ruby でファイルを解凍する最も簡単な方法は、unzip filename.zip. 次のステップは、zip ファイルを削除することです。

2 番目のステップは非常に高速に行われるため、シェル コマンドの unzip では、ファイルが削除される前にファイルを確認する機会さえありません。と言ってエラーになります

"unzip:  cannot find either filename.zip or filename.zip.zip."

unzip...ruby スクリプトの実行を続行する前に、コマンドを完了させたいだけです。同期的にブロックしたい。それを行う方法はありますか?どれくらい時間がかかるか予測できないため、スリープを使用できません。

4

1 に答える 1

4

ruby で外部プログラムを実行する通常の方法は同期的であるため、問題はないはずです。

試す

`unzip`

また

system("unzip")

また

system("unzip x && rm x")
于 2012-08-28T03:05:59.780 に答える