1

我想提取 zip 文件并在提取时将其删除。谷歌搜索告诉我,在 Ruby 中解压缩文件的最简单方法是使用unzip filename.zip. 我的下一步是删除 zip 文件。

第二步发生得如此之快,以至于 shell 命令 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 回答